首页 > 解决方案 > Getiing 错误 TypeError:使用 React-router 时未定义历史记录

问题描述

我是 React 的新手。当我开始使用 react 中的路由时,我遇到了一个错误,即TypeError: history is undefined

我的代码是。

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import Login from './components/login/Login';
import registerServiceWorker from './registerServiceWorker';
import { Router, Route, browserHistory } from 'react-router'

ReactDOM.render(
  <Router history={browserHistory}>
    <Route path="/" component={App}>

    </Route>
    <Route path="/login" component={Login} />
  </Router>
  ,
  document.getElementById('root')
);
registerServiceWorker();

标签: reactjsreact-router

解决方案


检查您的反应版本,我认为 browserHistory 不适用于版本 4,您必须改用“react-router-dom”并导入 BrowserRouter,然后像这样设置您的路线:

<BrowserRouter>
    <Switch>
        <Route exact path="/" render={props => <App {...props} /> } />
        <Route path="/login" render={props => <Login {...props} /> } />
    </Switch>
</BrowserRouter>

希望能帮助到你。


推荐阅读