NavLink
<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
より長い場合、もはやアクティブ状態とは見なされません。
Link | 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
プロパティを追加すると、マッチングロジックが大文字と小文字を区別するようになります。
Link | URL | isActive |
---|---|---|
<NavLink to="/SpOnGe-bOB" /> | /sponge-bob | true |
<NavLink to="/SpOnGe-bOB" caseSensitive /> | /sponge-bob | false |
viewTransition
viewTransition
プロパティは、最終状態の更新を [document.startViewTransition()
][document-start-view-transition] でラップすることで、このナビゲーションに View Transition を有効にします。デフォルトでは、変換中に [transitioning
クラス][transitioning-class] が [<a>
要素][a-element] に追加され、これを使用してビュー変換をカスタマイズできます。
isTransitioning
値に基づいて、さらにカスタマイズするために [className
][class-name-prop]/[style
][style-prop] 属性や [children
][children-prop] に渡されたレンダリングプロパティを使用できます。
<Link>
プロパティ
<Link>
のその他のすべてのプロパティがサポートされています。