财产历史不存在

时间:2017-10-27 21:02:34

标签: javascript reactjs typescript react-router frontend

我正在尝试使用ReactTypeScript启动新项目, 我坚持使用的一件事是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; ...'.

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:5)

如果您使用react-router-v4

您无法将历史记录传递给-m,因为它会创建自己的历史记录对象

如果您要创建自己的历史记录,请使用<BrowserRouter>代替<Router>,然后传递历史记录对象

<BrowserRouter>

您可以在react-router-v4

中详细了解历史记录