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') 实现跳转;

posted @ 2019-11-11 16:44  zoo-x  阅读(680)  评论(0)    收藏  举报