写法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