useSelectedLayoutSegments

useSelectedLayoutSegments 是一个客户端组件 (Client Component) 钩子,用于读取调用它的布局下方的活动路由片段。

这个钩子对于需要在父布局中了解子路由片段(例如面包屑导航)的 UI 创建非常有用。

'use client'

import { useSelectedLayoutSegments } from 'next/navigation'

export default function ExampleClientComponent() {
  const segments = useSelectedLayoutSegments()

  return (
    <ul>
      {segments.map((segment, index) => (
        <li key={index}>{segment}</li>
      ))}
    </ul>
  )
}

须知:

参数

const segments = useSelectedLayoutSegments(parallelRoutesKey?: string)

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 钩子。

On this page