どちらにもルート、リンクなどがあります。どちらを使用するのですか?それぞれをどこで使用するか本当に混乱しています。サーバ側?クライアント側?
https://reacttraining.com/react-router/
一部の例では、履歴を渡す必要がありますが、そうでない場合もあります。何をすべきか?
<Router history={browserHistory}>
対
<Router>
どちらか一方をいつ使用するかは本当に混乱します。
どちらにもルート、リンクなどがあります。どちらを使用するのですか?それぞれをどこで使用するか本当に混乱しています。サーバ側?クライアント側?
https://reacttraining.com/react-router/
一部の例では、履歴を渡す必要がありますが、そうでない場合もあります。何をすべきか?
<Router history={browserHistory}>
対
<Router>
どちらか一方をいつ使用するかは本当に混乱します。
回答:
react-routerには、react-router-domとreact-router-nativeの間のすべての共通コンポーネントが含まれています。いつどちらを使用するべきですか?Webを使用している場合、react-router-domには必要なすべてのコンポーネントが含まれているはずです。これにより、必要な共通コンポーネントもエクスポートされます。React Nativeを使用している場合、react-router-nativeには同じ理由で必要なものがすべて揃っているはずです。ですから、react-routerから何かを直接インポートする必要はおそらくないでしょう。使用する限り
<Router history={browserHistory}>
対
<Router>
RRv4では、browserHistoryを渡す必要はありません。これは、以前のバージョンのルーターの場合のみでした。
react-router-domはreact-router
プラスです:
<BrowserRouter>
それは
<Router history={browserNativeHistoryApiWrapper}/>
証明:https : //github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/BrowserRouter.js
ブラウザのいくつかのリンクの改善
証明:https : //github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/Link.js
とwith <NavLink>
—「アクティブ」かどうかを知るラッパー
証明:https : //github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/NavLink.js
使用するだけreact-router-dom
- react-router-dom
すべてを再エクスポートしますreact-router
。GitHub回答のリンク(&の違いは何ですか?react-router-dom
react-router
)
v4では、react-routerはコアコンポーネントと関数をエクスポートします。react-router-dom <Link>
は<a>
、(レンダリングする)や(ブラウザーのwindow.historyと相互作用する)などのDOM対応コンポーネントをエクスポートします。
react-router-dom
は、react-routerのすべてのエクスポートを再エクスポートするためreact-router-dom
、プロジェクトからインポートするだけで済みます。