Beide haben Route, Link usw. Wann soll man das eine oder das andere benutzen? Ich bin wirklich verwirrt, wo ich jeden verwenden soll. Serverseite? Kundenseite?
https://reacttraining.com/react-router/
In einigen Beispielen müssen Sie den Verlauf übergeben, in anderen nicht. Was ist zu tun?
<Router history={browserHistory}>
vs.
<Router>
Es ist wirklich verwirrend, wann man das eine oder das andere benutzt, jede Hilfe wird geschätzt.
reactjs
react-router
chulian
quelle
quelle
Antworten:
React-Router enthält alle gemeinsamen Komponenten zwischen React-Router-Dom und React-Router-Native . Wann sollten Sie eine über die andere verwenden? Wenn Sie im Web sind, sollte React-Router-Dom alles haben, was Sie brauchen, da es auch die allgemeinen Komponenten exportiert, die Sie benötigen. Wenn Sie React Native verwenden, sollte React -Router-Native aus demselben Grund über alles verfügen, was Sie benötigen. Sie müssen also wahrscheinlich nie etwas direkt vom React-Router importieren . Soweit Sie verwenden
vs.
In RRv4 müssen Sie browserHistory nicht weitergeben, das war nur für frühere Versionen des Routers.
Wenn Sie immer noch verwirrt sind, können Sie die Details zu jedem Paket hier überprüfen
quelle
React-Router-Dom ist ein
react-router
Plus:<BrowserRouter>
welches ist<Router history={browserNativeHistoryApiWrapper}/>
Beweis: https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/BrowserRouter.js
Einige Linkverbesserungen für den Browser
Beweis: https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/Link.js
und mit
<NavLink>
- Wrapper, der weiß, ob er "aktiv" ist oder nichtBeweis: https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/NavLink.js
quelle
Verwenden Sie einfach
react-router-dom
-react-router-dom
exportiert alle neureact-router
. Der Link auf GitHub antwortet ( was ist der Unterschied zwischenreact-router-dom
&react-router
? ).quelle
In Version 4 exportiert der React-Router die Kernkomponenten und -funktionen. React-Router-Dom exportiert DOM-fähige Komponenten wie
<Link>
(welche rendern<a>
) und (die mit der window.history des Browsers interagieren).react-router-dom
Exportiert alle Exporte des React-Routers erneut, sodass Sie nurreact-router-dom
in Ihr Projekt importieren müssen .quelle