Javascript 警告.js:36警告:失败的道具类型:道具'history'在'Router'中标记为必需,但其值为'undefined'`
根据以下代码获取标题中的错误:Javascript 警告.js:36警告:失败的道具类型:道具'history'在'Router'中标记为必需,但其值为'undefined'`,javascript,reactjs,react-router,react-router-dom,Javascript,Reactjs,React Router,React Router Dom,根据以下代码获取标题中的错误: import React from 'react' // import { browserHistory, hashHistory, Router } from 'react-router' // import createMemoryHistory from 'history/lib/createMemoryHistory' import { browserHistory, hashHistory, Router, Route, Switch } from 'r
import React from 'react'
// import { browserHistory, hashHistory, Router } from 'react-router'
// import createMemoryHistory from 'history/lib/createMemoryHistory'
import { browserHistory, hashHistory, Router, Route, Switch } from 'react-router-dom'
import Portfolio from './portfolio/Portfolio'
import Home from './home/Home'
import NoMatch from './NoMatch'
// const history = createMemoryHistory(location);
// console.log('history', history);
const Routes = () => {
return (
<Router history={browserHistory}>
<Route exact={ true } path="/" component={ Home }/>
<Route exact={ true } path="/portfolio" component={ Portfolio }/>
<Route component={ NoMatch } />
</Router>
);
}
export default Routes
从“React”导入React
//从“react Router”导入{browserHistory,hashHistory,Router}
//从“history/lib/createMemoryHistory”导入createMemoryHistory
从“react Router dom”导入{browserHistory,hashHistory,Router,Route,Switch}
从“./Portfolio/Portfolio”导入投资组合
从“./Home/Home”导入主页
从“./NoMatch”导入NoMatch
//const history=createMemoryHistory(位置);
//console.log('history',history);
常数路由=()=>{
返回(
);
}
导出默认路由
将路由器替换为BrowserRouter并使用交换机。从react Router dom version4.0开始,路由器不能有多个子路由器
import { browserHistory, hashHistory, BrowserRouter, Route, Switch } from 'react-router-dom';
并将路线替换为以下代码:
const Routes = () => {
return (
<BrowserRouter history={browserHistory}>
<Switch>
<Route exact={ true } path="/" component={ Home }/>
<Route exact={ true } path="/portfolio"
component={ Portfolio }/>
<Route component={ NoMatch } />
</Switch>
</BrowserRouter>
);
}
const Routes=()=>{
返回(
);
}
将路由器替换为BrowserRouter并使用交换机。从react Router dom version4.0开始,路由器不能有多个子路由器
import { browserHistory, hashHistory, BrowserRouter, Route, Switch } from 'react-router-dom';
并将路线替换为以下代码:
const Routes = () => {
return (
<BrowserRouter history={browserHistory}>
<Switch>
<Route exact={ true } path="/" component={ Home }/>
<Route exact={ true } path="/portfolio"
component={ Portfolio }/>
<Route component={ NoMatch } />
</Switch>
</BrowserRouter>
);
}
const Routes=()=>{
返回(
);
}
您使用的是哪一版本的react路由器?@Chris^4.1.1
我正在使用react路由器。您最近是否升级到了版本4?似乎您混合了v4之前和v4之后的语法。自启动此项目以来,您一直使用4,这些注释是我尝试过的解决方案,但我猜是旧的不推荐代码。您使用的是哪个版本的react router?@Chris^4.1.1
我使用的是react router DOM。您最近升级到版本4了吗?似乎您混合了v4之前和v4之后的语法。自启动此项目以来,您一直使用4,这些注释是我尝试过的解决方案,但我猜是较旧的不推荐代码。