DefinelyTyped 库:
declare module "history/lib/createBrowserHistory"
{
export default function createBrowserHistory(options?: HistoryModule.HistoryOptions): HistoryModule.History
}
当像这样使用时,标题中会出现编译错误(尽管在转换为 .tsx 之前它在普通的旧 .jsx 中工作):
import React = require('react');
import reactDom = require('react-dom');
import ReactRouter = require('react-router');
import createBrowserHistory = require('history/lib/createBrowserHistory');
import routes = require('app/tools/routes');
export function createReactApp() : void
{
let history = createBrowserHistory(); // <-- error :(
reactDom.render
(
<ReactRouter.Router history={history}>{routes}</ReactRouter.Router>,
document.getElementById('app')
);
}
我究竟做错了什么?
您尝试使用的模块是 ES6 模块,因此您必须使用 ES6 语法导入它:
import createBrowserHistory from 'history/lib/createBrowserHistory';
或者,您可以使用旧版import =
语法并访问default
导出对象的属性而不是默认导出(但你不应该;使用 ES6 导入!)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)