问题:
1、当点击页面中的按钮切换到另一个页面时,menu选中项并没有跟着改变;
2、刷新页面时,url保持不变,content不变,但是menu会回到默认设置。
参考了大佬的方法,终于实现了!!!
先看一下withRouter的解释:react withRouter
代码实现
与大佬的方法不同点在于:
1、路由与菜单不再一个组件中写,所以history通过属性的方式传递
// routes/index.js
const IRouter = withRouter(({
history }) => {
return (
// <withRouter> 最外层的withRouter去掉,不然会报警告
<HashRouter>
<Route path="/login" component={
Login}></Route>
<ILayout history={
history}> //=>将history传到实现菜单的组件中
<Switch>
<Route exact path="/" component={
OrderList}></Route>
<Route path="/order/list" component={
OrderList}></Route>
<Route path="/order/add" component={
AddOrder}></Route>