useSelectedLayoutSegment
useSelectedLayoutSegment
は、呼び出されたレイアウトの1レベル下のアクティブなルートセグメントを読み取ることができるクライアントコンポーネントのフックです。
親レイアウト内で、アクティブな子セグメントに応じてスタイルが変化するタブなどのナビゲーションUIに役立ちます。
補足:
useSelectedLayoutSegment
はクライアントコンポーネントのフックであり、レイアウトはデフォルトでサーバーコンポーネントであるため、通常はレイアウトにインポートされたクライアントコンポーネントを通じて呼び出されます。useSelectedLayoutSegment
は1レベル下のセグメントのみを返します。すべてのアクティブなセグメントを返すには、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 が導入されました。 |