【发布时间】:2023-02-10 01:09:57
【问题描述】:
我正在尝试为两种不同的布局路线呈现特定路线。基本上这条路线必须为公共和私人布局呈现,但具有相同的路径。
像这样的东西
createBrowserRouter([
{
element: <PublicLayout />,
children: [
// other routes in public layout
{
path: '/legal/*',
element: <Legal />,
},
],
},
{
element: <PrivateLayout />,
children: [
// other routes in private layout
{
path: '/legal/*',
element: <Legal />,
},
],
},
])
Legal 组件适用于两种布局,但在此配置中只会呈现公共布局。
路径中的 splat 是因为 Legal 有后代路由。
我试过一个包装器组件,但它就是不呈现。
export default function LegalRouter() {
const isOnline = true
return (
<Routes>
<Route element={isOnline ? <Layout /> : <PublicLayout />}>
<Route element={<Legal />} />
</Route>
</Routes>
)
}
【问题讨论】:
标签: javascript reactjs react-router react-router-dom