【问题标题】:React router doesn't function intended wayReact 路由器无法按预期方式运行
【发布时间】:2021-03-19 13:59:38
【问题描述】:

我有一个带有两条路由的 React 应用程序。一个给'/',另一个给'/login'。但是,当在主应用程序('/')中使用Link 组件切换到'/login' 路由时,没有任何反应。但是,如果我在浏览器中手动输入'/login' 并按回车键,就会渲染出路线。有什么线索吗?

编辑:从主应用程序切换到'/login' 路由然后重新加载路由后也会呈现。

路线:

function App() {
    return (
        <Router>
            <Route exact path="/" component={MainApp}></Route>
            <Route exact path="/login" component={LoginApp}></Route>
        </Router>
    )
}

链接

 <Router>
                <Menu mode="horizontal" defaultSelectedKeys={["Home"]} style={{ position: "fixed", zIndex: 1, width: "100%", top: "0" }}>

                    <Menu.Item key="Home" icon={<HomeOutlined />}>
                        <Link to="/" onClick={() => { props.setSearchValue(""); props.setCountry("") }}>Home</Link>
                    </Menu.Item>
                    <Menu.Item key="Login">
                        <Link to="/login">Login</Link>
                    </Menu.Item>
</Menu>
</Router>

【问题讨论】:

  • 您好,您可以发布处理路由的代码吗?
  • 请贴出链接代码
  • 另外请添加Link的导入代码
  • 从您的 Links 组件中删除 &lt;Router&gt;。你不需要用Router包裹Link

标签: javascript reactjs frontend


【解决方案1】:

Menu 是父组件还是子组件,如果是子组件,它的父组件在哪里:MainAppLoginApp

【讨论】:

  • Menu 是 Navbar 组件的子组件,其父组件是 MainApp
  • 删除包裹&lt;Menu/&gt;Router,然后重试。祝你好运
  • 是的,这就是原因
猜你喜欢
  • 2022-01-21
  • 2016-07-09
  • 2021-10-14
  • 1970-01-01
  • 1970-01-01
  • 2022-01-21
  • 1970-01-01
  • 2021-03-04
  • 2021-08-13
相关资源
最近更新 更多