useSelectedLayoutSegment
useSelectedLayoutSegment
是一個客戶端元件 (Client Component) 鉤子,可讓您讀取從呼叫它的 Layout 往下一個層級 的當前路由區段。
這對於導航 UI 非常有用,例如父佈局中的標籤,可以根據當前活動的子區段改變樣式。
須知事項:
- 由於
useSelectedLayoutSegment
是一個客戶端元件 (Client Component) 鉤子,而佈局 (Layouts) 預設是伺服器元件 (Server Components),因此useSelectedLayoutSegment
通常是透過導入到佈局中的客戶端元件來呼叫。useSelectedLayoutSegment
只會返回往下一個層級的區段。若要返回所有活動區段,請參閱useSelectedLayoutSegments
參數
useSelectedLayoutSegment
可選地 接受一個 parallelRoutesKey
,允許您讀取該插槽中的活動路由區段。
返回值
useSelectedLayoutSegment
返回當前活動區段的字串,如果不存在則返回 null
。
例如,根據以下佈局和訪問的 URL,返回的區段會是:
佈局 | 訪問的 URL | 返回的區段 |
---|---|---|
app/layout.js | / | null |
app/layout.js | /dashboard | 'dashboard' |
app/dashboard/layout.js | /dashboard | null |
app/dashboard/layout.js | /dashboard/settings | 'settings' |
app/dashboard/layout.js | /dashboard/analytics | 'analytics' |
app/dashboard/layout.js | /dashboard/analytics/monthly | 'analytics' |
範例
建立活動連結元件
您可以使用 useSelectedLayoutSegment
來建立一個活動連結元件,該元件會根據當前活動區段改變樣式。例如,部落格側邊欄中的精選文章列表:
版本歷史
版本 | 變更 |
---|---|
v13.0.0 | 引入 useSelectedLayoutSegment 。 |