React-router vs React-router-dom, kiedy używać jednego czy drugiego?


123

Oba mają trasę, łącze itp. Kiedy używać jednego lub drugiego? Jestem naprawdę zdezorientowany, gdzie użyć każdego z nich. Po stronie serwera? Strona klienta?

https://reacttraining.com/react-router/

W niektórych przykładach trzeba przekazać historię, w innych nie. Co robić?

<Router history={browserHistory}>

vs

<Router>

To naprawdę mylące, kiedy użyć jednego lub drugiego, jakakolwiek pomoc jest doceniana.


Odpowiedzi:


151

reagują routera, zawiera wszystkie elementy wspólne pomiędzy reakcji routerem-dom i reaguje, router natywnej . Kiedy należy używać jednego nad drugim? Jeśli jesteś w Internecie, to reakcja-router-dom powinna mieć wszystko, czego potrzebujesz, ponieważ eksportuje również typowe komponenty, których potrzebujesz. Jeśli używasz React Native, react-router-native powinien mieć wszystko, czego potrzebujesz z tego samego powodu. Więc prawdopodobnie nigdy nie będziesz musiał importować niczego bezpośrednio z routera React . O ile używasz

<Router history={browserHistory}>

vs

<Router>

W RRv4 nie musisz przekazywać browserHistory, to było tylko dla poprzednich wersji routera.

Jeśli nadal jesteś zdezorientowany, możesz sprawdzić szczegóły dotyczące każdego pakietu tutaj


2
czy powinniśmy usunąćreak-router z projektu czy ma to wpływ nareak-router-dom? czy ten pakiet respond-router jest obowiązkowy do pracy zreak-router-dom?
YÒGÎ

3
@snAtchnAren To nie jest obowiązkowe. Nigdy nie powinieneś potrzebować pakietu „React-router”, jeśli masz już zainstalowany „React-router-dom”.
Tyler McGinnis

2
Czy jeśli użyjęreak-router-dom zamiast reagującego routera, zmniejszy to rozmiar mojego pakietu?
Vrishank

26

reakcja-router-dom to react-routerplus:



6

W wersji 4, React-router eksportuje podstawowe komponenty i funkcje. react-router-dom eksportuje komponenty zgodne z DOM, takie jak <Link>(które renderuje <a>) i (które współdziałają z window.history przeglądarki).

react-router-domreeksportuje wszystkie eksporty z re-routera, więc musisz tylko importować z react-router-domprojektu.


ale czy musisz osobno instalować npm zarówno react-router, jak i react-router-dom?
joedotnot
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.