react-router vs react-router-dom,何时使用其中一个?

新手上路,请多包涵

两者都有 Route、Link 等。何时使用其中一个?我真的很困惑在哪里使用每个。服务器端?客户端?

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

在某些示例中,您需要传递历史记录,而在其他示例中则不需要。该怎么办?

 <Router history={browserHistory}>

对比

<Router>

何时使用其中一种确实令人困惑,任何帮助表示赞赏。

原文由 chulian 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 482
2 个回答

react-router 包含 react-router-domreact-router-native 之间的所有公共组件。什么时候应该使用其中一种?如果你在网络上,那么 react-router-dom 应该有你需要的一切,因为它还导出了你需要的通用组件。如果你使用 React Native, react-router-native 应该有你需要的一切,出于同样的原因。因此,您可能永远不必直接从 react-router 导入任何内容。至于你什么时候使用

<Router history={browserHistory}>

对比

<Router>

在 RRv4 中,您不需要传递 browserHistory,这仅适用于以前版本的路由器。

如果您仍然感到困惑,可以在 此处查看 每个包裹的详细信息

原文由 Tyler McGinnis 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

原文由 Atombit 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进