<NavLink>
<Link>
に、アクティブ状態と保留状態のスタイリング用の追加のプロパティをラップしたものです。
自動属性
.active
<NavLink>
コンポーネントがアクティブな場合、active
クラスが追加されるため、CSS を使用してスタイルを設定できます。
aria-current
<NavLink>
がアクティブな場合、基になるアンカータグに <a aria-current="page">
が自動的に適用されます。MDN の aria-current
を参照してください。
.pending
<NavLink>
コンポーネントがナビゲーション中に保留状態の場合、pending
クラスが追加されるため、CSS を使用してスタイルを設定できます。
.transitioning
ナビゲーション中に移行している場合、<NavLink viewTransition>
コンポーネントには transitioning
クラスが追加されます。これにより、CSS を使用してスタイルを設定できます。
プロパティ
className
コールバック
アクティブ状態と保留状態を使用して、適用されるクラス名をカスタマイズできます。
style
コールバック
アクティブ状態と保留状態を使用して、適用されるスタイルをカスタマイズできます。
children
コールバック
アクティブ状態と保留状態を使用して、<NavLink>
のコンテンツをカスタマイズできます。
end
end
プロパティは、active
状態と pending
状態の照合ロジックを変更し、NavLinks
の to
パス末尾のみに照合されるようにします。URL が to
より長い場合、アクティブとはみなされません。
リンク | URL | isActive |
---|---|---|
<NavLink to="/tasks" /> | /tasks | true |
<NavLink to="/tasks" /> | /tasks/123 | true |
<NavLink to="/tasks" end /> | /tasks | true |
<NavLink to="/tasks" end /> | /tasks/123 | false |
<NavLink to="/">
は例外的なケースです。これは、すべての URL が /
に一致するためです。デフォルトで、すべてのルートに一致しないようにするために、end
プロパティは事実上無視され、ルートルートにいる場合にのみ一致されます。
caseSensitive
caseSensitive
プロパティを追加すると、照合ロジックが変更され、大文字と小文字が区別されるようになります。
リンク | URL | isActive |
---|---|---|
<NavLink to="/SpOnGe-bOB" /> | /sponge-bob | true |
<NavLink to="/SpOnGe-bOB" caseSensitive /> | /sponge-bob | false |
viewTransition
viewTransition
プロパティは、最終状態の更新を document.startViewTransition()
でラップすることで、このナビゲーションの ビュー遷移 を有効にします。デフォルトでは、遷移中に transitioning
クラス が <a>
要素 に追加され、ビュー遷移をカスタマイズするために使用できます。
className
/style
プロパティまたは children
に渡されるレンダープロパティを使用して、isTransitioning
値に基づいてさらにカスタマイズすることもできます。
<Link>
プロパティ
<Link>
の他のすべてプロパティがサポートされています。