我正在尝试使用React
和TypeScript
启动新项目,
我坚持使用的一件事是Router
,由于某种原因,TypeScript不承认history
属性,尽管它应该可用according to the documentation。
我的组件
import * as React from 'react'
import * as ReactDom from 'react-dom'
import { Provider } from 'react-redux'
import { BrowserRouter as Router} from 'react-router-dom';
import createBrowserHistory from 'history/createBrowserHistory'
let history = createBrowserHistory();
ReactDom.render(
<Provider>
<Router history={history} > {/* Error is in this line */}
<div />
</Router>
</Provider>,
document.getElementById('app')
);
错误讯息:
Error:(11, 11) TS2339:Property 'history' does not exist on type 'IntrinsicAttributes
& IntrinsicClassAttributes<BrowserRouter> & Readonly<{ children?: ReactNode; ...'.
我怎样才能让它发挥作用?
答案 0 :(得分:5)
如果您使用react-router-v4
您无法将历史记录传递给-m
,因为它会创建自己的历史记录对象
如果您要创建自己的历史记录,请使用<BrowserRouter>
代替<Router>
,然后传递历史记录对象
<BrowserRouter>
您可以在react-router-v4
中详细了解历史记录