react-router-dom 中的多页路由问题

Posted

技术标签:

【中文标题】react-router-dom 中的多页路由问题【英文标题】:Problem with multiple page routing in react-router-dom 【发布时间】:2020-04-14 18:41:37 【问题描述】:

我正在制作一个具有欢迎和用户页面的应用程序,我使用条件来了解用户何时登录,因此我可以关闭登录和注册路线,但它似乎没有呈现页面.

./App.js

...
componentdidMount() 
  firebase.auth().onAuthStateChanged(user => this.setState(auth: user))


render() 
  let Routing;
  if (this.state.auth) 
    Routing = (
      <Route path="/dashboard"><Dashboard /></Route>
    )
   else 
    Routing = (
      <Route path="/"><WelcomePage /></Route>
      <Route path="/login"><Login /></Route>
      <Route path="/signup"><Signup /></Route>
    )
  

  return <BrowserRouter>Routing</BrowserRouter>

我哪里做错了?

【问题讨论】:

可能是因为组件名称中的拼写错误?您正在尝试在设置变量 Routing 时渲染 Rounting 【参考方案1】:

精确匹配网址

Routing = (
      <Route exact path="/"><WelcomePage /></Route>
      <Route path="/login"><Login /></Route>
      <Route path="/signup"><Signup /></Route>
    )

【讨论】:

以上是关于react-router-dom 中的多页路由问题的主要内容,如果未能解决你的问题,请参考以下文章

vue cli3同一个项目下的多页应用创建

react-router-dom 中的 Switch 语句始终加载 Home 路由,没有其他路由

如何从 react-router-dom v6 中的其他位置/功能获取路由?

如何添加将使用 react-router-dom 渲染组件的路由?

react-router-dom中的BrowserRouter和HashRouter

react-router-dom中的BrowserRouter和HashRouter