两者都有 Route、Link 等。何时使用其中一个?我真的很困惑在哪里使用每个。服务器端?客户端?
https://reacttraining.com/react-router/
在某些示例中,您需要传递历史记录,而在其他示例中则不需要。该怎么办?
<Router history={browserHistory}>
对比
<Router>
何时使用一个或另一个真的很令人困惑,任何帮助表示赞赏。
两者都有 Route、Link 等。何时使用其中一个?我真的很困惑在哪里使用每个。服务器端?客户端?
https://reacttraining.com/react-router/
在某些示例中,您需要传递历史记录,而在其他示例中则不需要。该怎么办?
<Router history={browserHistory}>
对比
<Router>
何时使用一个或另一个真的很令人困惑,任何帮助表示赞赏。
react-router包含react-router-dom和react-router-native之间的所有通用组件。什么时候应该使用一个?如果你在网络上,那么react-router-dom应该有你需要的一切,因为它还导出你需要的通用组件。如果你使用 React Native,出于同样的原因,react-router-native应该拥有你需要的一切。所以你可能永远不必直接从react-router导入任何东西。至于当你使用
<Router history={browserHistory}>
对比
<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
只需使用react-router-dom
-react-router-dom
重新导出所有react-router
. GitHub 上的链接答案(&之间的区别是什么?react-router-dom
react-router
)。
在 v4 中,react-router 导出核心组件和功能。react-router-dom 导出 DOM 感知组件,例如
<Link>
( 呈现<a>
) 和 ( 与浏览器的 window.history 交互)。
react-router-dom
重新导出所有 react-router 的导出,所以你只需要从react-router-dom
你的项目中导入。
在 Github 上找到了这个。
注意:这个包为 React Router 提供了核心路由功能,但你可能不想直接安装它。如果您正在编写将在浏览器中运行的应用程序,您应该安装 react-router-dom。同样,如果您正在编写 React Native 应用程序,则应该安装 react-router-native。这两个都将安装 react-router 作为依赖项。
来源:https : //github.com/remix-run/react-router/tree/main/packages/react-router