React-router vs react-router-dom, когда использовать тот или иной?


124

У обоих есть Route, Link и т. Д. Когда использовать тот или иной? Я действительно не понимаю, где использовать каждый из них. На стороне сервера? Сторона клиента?

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

В некоторых примерах вам нужно передать историю, в других - нет. Что делать?

<Router history={browserHistory}>

против

<Router>

Это действительно сбивает с толку, когда использовать тот или другой, любая помощь приветствуется.


Ответы:


152

response-router содержит все общие компоненты между response-router-dom и response-router-native . Когда следует использовать одно вместо другого? Если вы находитесь в Интернете, в react-router-dom должно быть все, что вам нужно, поскольку он также экспортирует общие компоненты, которые вам понадобятся. Если вы используете React Native, в response-router-native должно быть все необходимое по той же причине. Так что вам, вероятно, никогда не придется ничего импортировать напрямую из response-router . Насколько вы используете

<Router history={browserHistory}>

против

<Router>

В RRv4 вам не нужно передавать историю браузера, это было только для предыдущих версий маршрутизатора.

Если вы все еще не уверены, вы можете проверить детали каждого пакета здесь


2
мы удалим response-router из проекта или это влияет на response-router-dom ?? этот пакет response-router обязателен для работы с response-router-dom?
YÒGÎ

3
@snAtchnAren Это не обязательно. Вам никогда не понадобится пакет «response-router», если вы уже установили «response-router-dom».
Тайлер МакГиннис

2
Если я использую response-router-dom вместо response-router, уменьшится ли размер моего пакета?
Вришанк

26

response-router-dom - react-routerплюс:



6

В версии 4 react-router экспортирует основные компоненты и функции. response-router-dom экспортирует компоненты, поддерживающие DOM, такие как <Link>(который отображает <a>) и (который взаимодействует с window.history браузера).

react-router-domреэкспортирует все экспортные файлы response-router, поэтому вам нужно импортировать только из react-router-domфайла project.


но нужно ли вам установить npm отдельно как response-router, так и response-router-dom?
joedotnot
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.