antd菜单栏与react-router刷新页面不跳转

场景:A页面和B页面,菜单栏/导航栏对应A页面和B页面,如果不处理,当在B页面刷新后,antd菜单栏/导航栏会对应到A选项上,而页面依然停留在B页面。

实现很简单:

antd提供了:

defaultSelectedKeys={defaultSelectedKeys} //默认选择的菜单栏
defaultOpenKeys={['/']} //默认打开的菜单栏
selectedKeys={selectedKeys} //当前选择的菜单栏

我们刷新程序,只需要修改selectedKeys就可以了,配合react-router-dom

import { useLocation } from 'react-router-dom';

const location = useLocation();

useEffect(()=>{
  setSelectedKeys([location.pathname])
},[location]);

location.pathname能够获取到当前路由的地址,页面刷新,获取当前路由的地址后设置给当前打开的菜单栏,实现菜单栏与页面一一对应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值