具有嵌套布局的 React Router
React Router with Nested Layouts
我在反应路线方面遇到了一些问题,不确定什么是完成我正在尝试的事情的合适方法。
我在 React Router v4 中读到 parents 应该渲染他们的 children 所以我有这样的东西
<Switch>
<Route exact path='/' component={FrontEndContainer} />
<Route exact path='/dashboard' component={AuthContainer}>
<Route exact path='/login' component={LoginPage} />
</Switch>
const FrontEndContainer = () => {
return (
<div>
<Navigation />
<main>
<Header />
<Route exact path='/' component={HomePage} />
<Route path='/about' component={AboutPage} />
<Route path='/contact' component={ContactPage} />
</main>
<Footer />
</div>
);
};
export default FrontEndContainer;
如果您导航到 http://example.com but when you try and navigate to http://example.com/about does not render. I realize its because of the exact but if I don't have the exact, when you navigate to http://example.com/login,这将起作用 FrontEndContainer 在没有内部组件和登录页面的情况下呈现。
我的目标是,当用户导航到登录页面时,不呈现 FrontEndContainer,而当导航到/或/关于 FrontEndContainer 和内部容器时呈现。
我觉得我遗漏了一些非常简单的东西...
在此先感谢您指出错误!
您是否尝试过像这样对 Switch
块中的语句重新排序?这样 FrontEndContainer
将在与任何先前组件不匹配的任何路由中呈现。
<Switch>
<Route exact path='/dashboard' component={AuthContainer}>
<Route exact path='/login' component={LoginPage} />
<Route path='/' component={FrontEndContainer} />
</Switch>
我在反应路线方面遇到了一些问题,不确定什么是完成我正在尝试的事情的合适方法。
我在 React Router v4 中读到 parents 应该渲染他们的 children 所以我有这样的东西
<Switch>
<Route exact path='/' component={FrontEndContainer} />
<Route exact path='/dashboard' component={AuthContainer}>
<Route exact path='/login' component={LoginPage} />
</Switch>
const FrontEndContainer = () => {
return (
<div>
<Navigation />
<main>
<Header />
<Route exact path='/' component={HomePage} />
<Route path='/about' component={AboutPage} />
<Route path='/contact' component={ContactPage} />
</main>
<Footer />
</div>
);
};
export default FrontEndContainer;
如果您导航到 http://example.com but when you try and navigate to http://example.com/about does not render. I realize its because of the exact but if I don't have the exact, when you navigate to http://example.com/login,这将起作用 FrontEndContainer 在没有内部组件和登录页面的情况下呈现。
我的目标是,当用户导航到登录页面时,不呈现 FrontEndContainer,而当导航到/或/关于 FrontEndContainer 和内部容器时呈现。
我觉得我遗漏了一些非常简单的东西...
在此先感谢您指出错误!
您是否尝试过像这样对 Switch
块中的语句重新排序?这样 FrontEndContainer
将在与任何先前组件不匹配的任何路由中呈现。
<Switch>
<Route exact path='/dashboard' component={AuthContainer}>
<Route exact path='/login' component={LoginPage} />
<Route path='/' component={FrontEndContainer} />
</Switch>