两者都有Route,Link等。何时使用其中一种?我真的很困惑在哪里使用每一个。服务器端?客户方?
https://reacttraining.com/react-router/
在某些示例中,您需要传递历史记录,而在其他示例中则不需要。怎么办?
<Router history={browserHistory}>
VS
<Router>
关于何时使用其中一个,任何帮助表示非常困惑。
答案 0 :(得分:91)
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,这只适用于以前版本的路由器。
如果您仍然感到困惑,可以查看每个包裹的详细信息here
答案 1 :(得分:17)
react-router-dom是react-router
加:
<BrowserRouter>
这是
<Router history={browserNativeHistoryApiWrapper}/>
浏览器的一些链接改进
证明:https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/modules/Link.js
和<NavLink>
- 包装器知道它是否活跃&#34; <或者
答案 2 :(得分:3)
在v4中,react-router导出核心组件和功能。 react-router-dom导出DOM感知组件,如std::unique_ptr
(呈现<Link>
)和(与浏览器的window.history交互)。
<a>
重新导出所有react-router的导出,因此您只需从项目中的react-router-dom
导入。