我是 ReactJs 新手。这是我的代码:
var React = require('react');
var ReactDOM = require('react-dom');
var {Route, Router, IndexRoute, hashHistory} = require('react-router');
var Main = require('Main');
ReactDOM.render(
<Router history={hashHistory}>
<Route path="/" component={Main}></Route>
</Router>, document.getElementById('app'));
并使用 webpack 编译它。我还将主要组件添加到我的别名中。 控制台抛出这些错误: 我还阅读了这些链接:
React Router failed prop 'history', is undefined
How do I resolve history is marked required, when value is undefined?
Upgrading React-Router and replacing hashHistory with browserHistory
在网上进行了很多搜索,但我无法解决这个问题。 React Router 是版本 4
最佳答案
如果您使用的是react-router v4,您还需要安装react-router-dom。之后,从react-router-dom导入BrowserRouter并将Router切换为BrowserRouter。 v4 似乎改变了一些事情。此外,react-router 文档已经过时了。这是我的工作代码:
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter, Route } from 'react-router-dom'
import App from './components/App';
ReactDOM.render((
<BrowserRouter>
<Route path="/" component={App}/>
</BrowserRouter>
),
document.getElementById('root')
);
关于reactjs - 属性 `history` 在 `Router` 中被标记为必需,但其值为 `undefined` 。在路由器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43008036/