react-router和react-router-dom区别
- 1.使用
用脚手架搭建了项目后,路由要手动下载,脚手架中没有集成
安装:
yarn add react-router-dom
React Router 现在已经被划分成了三个包:react-router,react-router-dom,react-router-native
react-router 为 React Router 应用提供了核心的路由组件和函数,另外两个包提供了特定环境的组件(浏览器和 react-native 对应的平台),不过他们也是将 react-router 导出的模块再次导出
开发一个 web 应用,所以直接安装 react-router-dom 就可以了
-
2.api方面
react-router:
提供了路由的核心api,比如router,route,switch,但没有提供有关的dom操作进行路由跳转
react-router-dom:
提供了BrowserRourter,route,link等api,可通过dom操作控制路由跳转
link组件,会渲染一个a标签,BrowserRouter和HashRouter组件,前者使用pushState和popState事件构建路由,后者使用 hash 和 hashchange 事件构建路由。 -
3.动态路由跳转
React-router:
router4.0以上 this.props.history.push('/path') 实现跳转;
router3.0以上 this.props.router.push('/path') 实现跳转;
React-router-dom:
直接用 this.props.history.push('/path') 实现跳转;

浙公网安备 33010602011771号