react-router和react-router-dom的区别

333 阅读1分钟

写法1:

import {Switch, Route, Router, HashHistory, Link} from 'react-router-dom';

写法2

import {Switch, Route, Router} from 'react-router';
import {HashHistory, Link} from 'react-router-dom';

各自的功能

  • react-router: 实现了路由的核心功能

  • react-router-dom:基于react-router,加入了在浏览器运行环境下的一些功能, 例如:Link组件,会渲染a标签,BrowerRouter和HashRouter组件,前者使用pushState和popState事件构建路由,后者使用window.hash和hashchange事件构建路由,它已经依赖了react-router库

  • react-router-native: 基于react-router,类似react-router-dom,加入了react-native运行环境下的一些功能。

使用区别

  • 基于浏览器开发:react-router-dom
  • 基于react-native开发:react-router-native