react-router vs react-router-dom, коли використовувати те чи інше?


123

В обох є маршрут, посилання тощо. Коли користуватися тим чи іншим? Я дуже розгублений у тому, де їх використовувати. Сторона сервера? Клієнтська сторона?

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

В одних прикладах потрібно передати історію, в інших ні. Що робити?

<Router history={browserHistory}>

проти

<Router>

Це дуже заплутано в тому, коли використовувати ту чи іншу, будь-яка допомога вдячна.


Відповіді:


151

react-router містить всі загальні компоненти між react-router-dom та react-router-native . Коли слід використовувати одне над іншим? Якщо ви перебуваєте в Інтернеті, то в реакторі-маршрутизаторі має бути все необхідне, оскільки він також експортує загальні компоненти, які вам знадобляться. Якщо ви використовуєте React Native, реактивний маршрутизатор повинен мати все необхідне з тієї ж причини. Тож вам, мабуть, ніколи не доведеться імпортувати що-небудь безпосередньо з react-router . Що стосується того, коли ви користуєтесь

<Router history={browserHistory}>

проти

<Router>

У RRv4 вам не потрібно буде передавати історію браузера, це було лише для попередніх версій маршрутизатора.

Якщо ви все ще плутаєтесь, ви можете ознайомитися з деталями кожного пакету тут


2
ми видалимо react-router з проекту чи це вплине на reakct-router-dom ?? це те, що пакет react-router є обов'язковим для роботи з react-router-dom?
YÒGÎ

3
@snAtchnAren Це не обов'язково. Вам ніколи не знадобиться пакет "react-router", якщо ви вже встановили "react-router-dom".
Тайлер МакГінніс

2
Якщо я використовую react-router-dom над react-router, чи зменшиться він розмір мого пакета?
Вришанк

26

реакція-роутер-дом є react-routerплюсом:



6

У версії 4, маршрутизатор react експортує основні компоненти та функції. react-router-dom експортує компоненти, відомі DOM, як-от <Link>(що робить <a>) та (який взаємодіє з вікном браузера window.history).

react-router-domреекспорт всього експорту маршрутизатора, тому вам потрібно лише імпортувати з react-router-domсвого проекту.


але чи потрібно вам npm встановлювати як react-router, так і react-router-dom окремо?
Joedotnot
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.