首页 > 解决方案 > HashRouter 多个布局将始终显示一个布局

问题描述

我正在尝试在路线中制作多个布局(一个带有侧边栏/导航,另一个没有),但不知何故,带有侧边栏的那个总是出现。

应用程序.tsx:

return (
    <Router>
      <Switch>
        <UserContext.Provider value={providerValue}>
        <ScrollToTop/>
        
          <Route path='/editor' exact>
            <EmptyLayout >
                <Switch>
                  <Route path="/editor" exact component=    
                  {MarkdownEditor}/>
                </Switch>
            </EmptyLayout>
        </Route>

        <Route>
          <Layout>
            <Switch>
                <Route path="/"  exact component={Home}><Redirect to="/worlds"/></Route>
                <Route path="/worlds"  component={Worlds}/>
                <Route component={Error404}/>
            </Switch>
          </Layout>
        </Route>

        </UserContext.Provider>
      </Switch>
    </Router>
  );

布局.tsx:

export const Layout: React.FC = (props) => {
  return (
    <>
      <MainNav />
      <main className="main">
        {props.children}
      </main>
    </>
  );
};

标签: reactjsreact-routerreact-router-dom

解决方案


推荐阅读