有些坑踩了第一次,那么很有可能踩第二次
包安装
使用creat-react-app创建的脚手架并没有预装react-route-dom包,所以我们在写路由文件之前还需要再安装一下。
cnpm install react-router-dom --save // --save 是把包写进package.json的dependencies配置里, npm 和 yarn也都可以
路由文件
当我们愉快的写好下面的路由文件,觉得大功告成时候
import React from 'react';
import {Route, Switch} from 'react-router-dom';
import Home from './home.js';
import List from './list.js';
const App = () => {
return (
<Switch>
<Route path='/' component={Home} />
<Route path='/list' component={List} />
</Switch>
)
}
export default App;
报错了,他告诉你Switch不要放在Route的外面…???
其实是你需要在Switch外面再包一层BrowserRouter,这样才可以调用WEB history的API. ,当然你也可以在下面这个地方包一下BrowserRouter。
import createBrowserHistory