这是一个非常简单的问题,但是如何将视图更新为路线列表中的最后一个元素?
现在,我正在向路由器传递一系列路由,但默认情况下会将当前路由设置为首页。有没有办法将其设置为路由数组的最后一个元素?
breadcrumbRoutes: [
{
path: '/',
exact: true,
name: "Device Policies",
main: () => <h2>Device Policies View</h2>
},
{
path: '/controlPanel',
exact: true,
name: "Control Panel",
main: () => <h2>Control Panel View</h2>
},
{
path: '/settings',
exact: true,
name: "Settings",
main: () => <h2>Settings View</h2>
}
]
我想将当前视图设置为设置页面,因为我的面包屑看起来像这样Device Policies/Control Panel/Settings
。
感谢您的帮助!
答案 0 :(得分:0)
这并不是反应路由器的工作原理。没有“默认”视图。如果用户导航到您应用的/
路径,则他们将看到“设备策略”组件。如果他们导航到/settings
路径,他们将看到“设置视图”组件。等
这里的另一个问题是,您的路线未设置为具有您所描述的面包屑。您没有Device Policies/Control Panel/Settings
路线。您有三个分开的路由:/
,/controlPanel
和/settings
。如果要使用/controlPanel/settings
路由,则需要将控制面板路由嵌套在根/
路由内部,并将设置路由嵌套在那个路由内部。>
如果您确实有一条/controlPanel/settings
路线,那么您可以使“默认”路线成为在/
路线下呈现一个指向{的<Redirect>
组件的方式。 {1}}。然后,您可能会有一个/controlPanel/settings
路线或类似路线,即您的实际主页/仪表板。这样,当用户尝试转到/home
时,他们将被发送到设置页面,但是您可以提供指向/
路由的链接,该链接不会将他们重定向到任何地方(否则将无法如果/home
总是重定向到设置,则有一个“主页”页面!)