どちらにもルート、リンクなどがあります。どちらを使用するのですか?それぞれをどこで使用するか本当に混乱しています。サーバ側?クライアント側?
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-domreact-router)
v4では、react-routerはコアコンポーネントと関数をエクスポートします。react-router-dom <Link>は<a>、(レンダリングする)や(ブラウザーのwindow.historyと相互作用する)などのDOM対応コンポーネントをエクスポートします。
react-router-domは、react-routerのすべてのエクスポートを再エクスポートするためreact-router-dom、プロジェクトからインポートするだけで済みます。