我用create-react-app搭建项目,UI库用antd,react-router4.1.1做路由,做了一个侧边导航做路由切换,已经实现,但是当我点击浏览器的前进和后退按钮时候如何让导航菜单的按钮状态随着路由一起变化?现在是点击前进后退之后路由依然切换,但是menu按钮的激活状态不动。判断是否点击了前进或后退,然后设置的激活的菜单以及展开的菜单。
我用create-react-app搭建项目,UI库用antd,react-router4.1.1做路由,做了一个侧边导航做路由切换,已经实现,但是当我点击浏览器的前进和后退按钮时候如何让导航菜单的按钮状态随着路由一起变化?现在是点击前进后退之后路由依然切换,但是menu按钮的激活状态不动。判断是否点击了前进或后退,然后设置的激活的菜单以及展开的菜单。
3 回答1.9k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.6k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
现在已经解决了,用的是HTML5的popstate,popstate 事件会在用户点击某个前进/后退按钮的时候触发;刷新的时候,在组件挂载的时候设置一下激活的MenuItem 的 keys和展开的子菜单数组。原文链接在这里https://zhuanlan.zhihu.com/p/...
放上完整代码