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