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

时间:2017-03-09 01:03:54

标签: reactjs react-router

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

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

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

<Router history={browserHistory}>

VS

<Router>

关于何时使用其中一个,任何帮助表示非常困惑。

3 个答案:

答案 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加:

答案 2 :(得分:3)

在v4中,react-router导出核心组件和功能。 react-router-dom导出DOM感知组件,如std::unique_ptr(呈现<Link>)和(与浏览器的window.history交互)。

<a>重新导出所有react-router的导出,因此您只需从项目中的react-router-dom导入。