Les deux ont Route, Link, etc. Quand utiliser l'un ou l'autre? Je ne sais vraiment pas où utiliser chacun d'eux. Du côté serveur? Côté client?
https://reacttraining.com/react-router/
Dans certains exemples, vous devez passer l'historique, dans d'autres non. Que faire?
<Router history={browserHistory}>
contre
<Router>
Il est vraiment déroutant de savoir quand utiliser l'un ou l'autre, toute aide appréciée.
reactjs
react-router
chulian
la source
la source
Réponses:
react-router contient tous les composants communs entre react-router-dom et react-router-native . Quand devriez-vous utiliser l'un sur l'autre? Si vous êtes sur le Web, react-router-dom devrait avoir tout ce dont vous avez besoin car il exporte également les composants communs dont vous aurez besoin. Si vous utilisez React Native, react-router-native devrait avoir tout ce dont vous avez besoin pour la même raison. Vous n'aurez donc probablement jamais à importer quoi que ce soit directement depuis react-router . Dans la mesure où vous utilisez
contre
Dans RRv4, vous n'aurez pas besoin de transmettre browserHistory, c'était uniquement pour les versions précédentes du routeur.
Si vous êtes toujours confus, vous pouvez consulter les détails de chaque package ici
la source
react-router-dom est un
react-router
plus:<BrowserRouter>
lequel est<Router history={browserNativeHistoryApiWrapper}/>
preuve: https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/BrowserRouter.js
quelques améliorations de lien pour le navigateur
preuve: https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/Link.js
et avec
<NavLink>
- wrapper qui sait s'il est "actif" ou nonpreuve: https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/NavLink.js
la source
Il suffit d'utiliser
react-router-dom
-react-router-dom
réexporte toutreact-router
. Le lien sur la réponse GitHub ( quelle est la différence entrereact-router-dom
&react-router
? ).la source
Dans la v4, react-router exporte les composants et fonctions de base. react-router-dom exporte des composants compatibles DOM, comme
<Link>
(qui rend<a>
) et (qui interagit avec window.history du navigateur).react-router-dom
réexporte toutes les exportations de react-router, il vous suffit donc d'importer depuisreact-router-dom
votre projet.la source