antd 刷新页面及后退时菜单栏高亮问题

左侧菜单刷新无法高亮用 withRouter,设置selectedKeys属性

   

import { Link, Route, Switch, Redirect, HashRouter, withRouter } from 'react-router-dom';

const LeftSider = withRouter(({ history }) => {
  return (
    <Sider >
      <Menu
        mode="inline"
        defaultSelectedKeys={['/new-pro']}
        selectedKeys={[history.location.pathname]}
        theme="dark"
      >
        <Menu.Item key="/new-pro">
          <Link to="/new-pro" replace />
          新建项目
        </Menu.Item>
        <Menu.Item key="/pro-list">
          <Link to="/pro-list" replace />
          项目列表
        </Menu.Item>
      </Menu>
    </Sider>

  );
})

class App extends Component {
  render() {
    return (
      <HashRouter>
        <Layout style={{ minHeight: '100vh' }}>
          <LeftSider />
          <Layout>
            <Header style={{ background: '#fff', padding: 0 }}>
            </Header>
            <Content style={{ margin: '0 16px' }}>
              <div
                style={{
                  margin: '24px 16px',
                  padding: 0,
                  background: '#fff',
                  minHeight: 850,
                }}   >
                <main>
                  <Switch>
                    <Route path="/new-pro" component={History} />
                    <Route path="/pro-list" component={HeaderBar} />
                    <Redirect to="/new-pro" />
                  </Switch>
                </main>
              </div>
            </Content>
          </Layout>
        </Layout>
      </HashRouter>
    );
  }
}
export default App;

 

转载于:https://www.cnblogs.com/zxiaoyu/p/9627848.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值