【发布时间】:2021-05-09 18:18:20
【问题描述】:
我正在开发应用程序,其中应用程序有两部分,一是面向公共用户和面向管理员用户。我完成了公共方面的工作,但现在我在管理方面面临问题,因为当我为管理员呈现我的第二个菜单时,公共方面的菜单也显示出来了。有人可以帮我如何处理第二个菜单让假设如果用户点击(/admin/home)然后我需要显示第二个菜单如果用户点击(/home)那么我想显示 Ist 菜单。
管理员路由
<TopMenu>
<PrivateRoute
exact
auth={auth}
path="/dashboard"
currentUser={"admin" || null}
roles={["admin"]}
component={Dashboard}
/>
</TopMenu>
公共路线
<Route exact path="/" render={(props) => <Home {...props} />} />
<Route
exact
path="/about"
render={(props) => <About {...props} />}
/>
<Route
exact
path="/contact"
render={(props) => <Contact {...props} />}
/>
【问题讨论】:
-
您是否尝试过在组件的渲染函数中进行条件渲染?每个页面都可以是它自己的组件,而这些组件又由较小的组件构建。当你在管理页面时,只渲染你需要的组件。
-
希望看到更多代码。尝试抽象出有关“admin”和“public”的详细信息以及特定于应用程序业务的其他详细信息。您面临的技术问题是什么。
标签: javascript reactjs ecmascript-6 react-router react-router-dom