реагировать-маршрутизатор против реагировать-маршрутизатор-дом, когда использовать один или другой?
у обоих есть маршрут, ссылка и т. д. Когда использовать тот или другой? Я действительно запутался в том, где использовать каждый из них. На стороне сервера? На стороне клиента?
https://reacttraining.com/react-router/
в одних примерах нужно пройти историю, в других нет. Что же делать?
<Router history={browserHistory}>
vs
<Router>
это сложно понять, когда использовать один или другой, любая помощь ценится.
4 ответа:
react-router содержит все общие компоненты между react-router-dom и react-router-native. Когда вы должны использовать один над другим? Если вы находитесь в интернете, то react-router-dom должно быть все, что вам нужно, так как он также экспортирует общие компоненты, которые вам понадобятся. Если вы используете React Native,react-router-native должно быть все, что вам нужно по той же причине. Так что вам, вероятно, никогда не придется импортируйте что-либо непосредственно из react-router. Насколько, Когда вы используете
<Router history={browserHistory}>
vs
<Router>
в RRv4 вам не нужно будет передавать browserHistory, это было только для предыдущих версий маршрутизатора.
Если вы все еще путаете, вы можете проверить детали на каждом пакете здесь
react-router-dom - это
react-router
плюсы:
<BrowserRouter>
что<Router history={browserNativeHistoryApiWrapper}/>
доказательство: https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/BrowserRouter.js
некоторые улучшения ссылок для браузера
доказательство: https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/Link.js
и
<NavLink>
- обертка, которая знает, является ли она "активной" или нетдоказательство: https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/NavLink.js
в v4, react-маршрутизатор экспортирует основные компоненты и функции. react-router-dom экспортирует компоненты с поддержкой DOM, например
<Link>
( Что делает<a>
) и (который взаимодействует с окном браузера.история.)
react-router-dom
реэкспортирует весь экспорт react-router, поэтому вам нужно только импортировать изreact-router-dom
в вашем проекте.
просто использовать
react-router-dom
-react-router-dom
реэкспорт всеreact-router
. Ссылка на GitHub ответ https://github.com/ReactTraining/react-router/issues/4648