useSelectedLayoutSegments
useSelectedLayoutSegments
是一个客户端组件 (Client Component) 钩子,用于读取调用它的布局下方的活动路由段。
这对于需要在父布局中了解子路由段状态(例如面包屑导航)的 UI 创建非常有用。
须知:
- 由于
useSelectedLayoutSegments
是一个客户端组件 (Client Component) 钩子,而布局默认是服务端组件 (Server Components),因此通常需要通过导入到布局中的客户端组件来调用useSelectedLayoutSegments
。- 返回的路由段包含路由组 (Route Groups),您可能不希望这些内容出现在 UI 中。可以使用
filter()
数组方法移除以括号开头的项。
参数
useSelectedLayoutSegments
可选接收一个 parallelRoutesKey
参数,用于读取该插槽内的活动路由段。
返回值
useSelectedLayoutSegments
返回一个字符串数组,包含调用该钩子的布局下一级的活动路由段。如果不存在则返回空数组。
例如,给定以下布局和访问 URL,返回的路由段如下:
布局 | 访问 URL | 返回的路由段 |
---|---|---|
app/layout.js | / | [] |
app/layout.js | /dashboard | ['dashboard'] |
app/layout.js | /dashboard/settings | ['dashboard', 'settings'] |
app/dashboard/layout.js | /dashboard | [] |
app/dashboard/layout.js | /dashboard/settings | ['settings'] |
版本历史
版本 | 变更 |
---|---|
v13.0.0 | 引入 useSelectedLayoutSegments 。 |