reactjs - 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();
解决方案
检查您的反应版本,我认为 browserHistory 不适用于版本 4,您必须改用“react-router-dom”并导入 BrowserRouter,然后像这样设置您的路线:
<BrowserRouter>
<Switch>
<Route exact path="/" render={props => <App {...props} /> } />
<Route path="/login" render={props => <Login {...props} /> } />
</Switch>
</BrowserRouter>
希望能帮助到你。
推荐阅读
- php - 未定义的常量“page_link”(视图:\resources\views\home\index.blade.php) 在:“\resources\views/home/index.blade.php”文件的第 19 行
- sql - SQL CREATE FUNCTION 生成“没有这样的函数”错误
- javascript - 我的等待代码不会等待我的代码继续
- javascript - 有没有办法在没有文档的情况下找到哪些 API 参数有效?
- javascript - 创建钩子时出错(Promise/async):“TypeError:无法读取未定义的属性‘位置’”
- gremlin - gremlin 查询在控制台中有效,但在 javascript 中无效
- asp.net-core - Asp.Net Core 3.1 Web App(Razor Pages)SignalR - OnChange 事件在 SqlDependency 上多次命中,对于单个客户端
- python - 硒中的按钮不可点击,没有错误消息
- github-actions - 即使在主键上发生命中,也覆盖 github 操作缓存
- purescript - 由于使用了类型(行类型),类型类实例头部无效