useSelectedLayoutSegment
useSelectedLayoutSegment
ist ein Client Component Hook, der es ermöglicht, das aktive Routensegment eine Ebene unterhalb des Layouts auszulesen, von dem aus er aufgerufen wird.
Er ist nützlich für Navigations-UI, wie z.B. Tabs innerhalb eines übergeordneten Layouts, deren Stil sich abhängig vom aktiven Kindsegment ändert.
Wissenswert:
- Da
useSelectedLayoutSegment
ein Client Component-Hook ist und Layouts standardmäßig Server Components sind, wirduseSelectedLayoutSegment
normalerweise über eine Client Component aufgerufen, die in ein Layout importiert wird.useSelectedLayoutSegment
gibt nur das Segment eine Ebene darunter zurück. Um alle aktiven Segmente zu erhalten, sieheuseSelectedLayoutSegments
Parameter
useSelectedLayoutSegment
akzeptiert optional einen parallelRoutesKey
, der es ermöglicht, das aktive Routensegment innerhalb dieses Slots auszulesen.
Rückgabewert
useSelectedLayoutSegment
gibt einen String des aktiven Segments zurück oder null
, falls keines existiert.
Beispielsweise würde bei den unten angegebenen Layouts und URLs das zurückgegebene Segment wie folgt aussehen:
Layout | Aufgerufene URL | Zurückgegebenes Segment |
---|---|---|
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' |
Beispiele
Erstellen einer aktiven Link-Komponente
Sie können useSelectedLayoutSegment
verwenden, um eine aktive Link-Komponente zu erstellen, deren Stil sich abhängig vom aktiven Segment ändert. Beispielsweise eine Liste hervorgehobener Beiträge in der Seitenleiste eines Blogs:
Versionsverlauf
Version | Änderungen |
---|---|
v13.0.0 | useSelectedLayoutSegment eingeführt. |