web-dev-qa-db-ja.com

React Router v4 <NavLink> vs <Link>の利点

NavLinkで「activeClassName」および「activeStyle」を設定する機能に加えて、非ナビゲーション要素上の他のルートへのリンクを作成するときにNavLink over Linkを使用する理由があります(つまり、ヘッダーまたはフッターのメインナビゲーションではない)アクティブな状態/クラスを必要としないサイトで?

52
yam55

公式ドキュメント は明確です:

<NavLink>

<Link>の特別なバージョン。現在のURLと一致したときにレンダリングされた要素にスタイル属性を追加します。

したがって、答えはNOです。上記以外の理由はありません。

85
Abdennour TOUMI

アクティブな<Link>でスタイルまたはクラス属性を使用する必要がある場合は、<NavLink>を使用できます

例を見てみましょう:

リンク

<Link to="/">Home</Link>

NavLink

<NavLink to="/" activeClassName="active">Home</NavLink>
25
sultan aslam

単純に、<Link>を使用する場合、選択した要素にactiveクラスはありません。
対照的に、<NavLink>では、この要素がアクティブなクラスに追加されるため、選択した要素が強調表示されます。
あなたに役立つことを願っています。

2
Neo_