1.安装依赖
//1.安装依赖yarn add react-router-dom
2.配置路由
React中的路由配置到根组件中
//2配置路由 app.jsimport React, { Component } from 'react';//要先导入import {BrowserRouter as Router,Switch,Route,Link} from "react-router-dom";import Home from './views/Home'import About from './views/About'import Detail from './views/Detail'class App extends Component {render() {return (<div><Router>{/* exact:路由的严格匹配,只有路径为'/'才会加载对应的路由 */}<Route exact path="/" component={Home}></Route><Route path="/about" component={About}></Route><Route path="/detail" component={Detail}></Route></Router></div>);}}export default App;//exact严格匹配,只有path="/",才能访问。如果不写,只要path包含"/",都能访问
问题:route没有加Switch,那么每输入一次url,则对应的组件都加载一次
3.Switch解决路由组件重复加载的问题
class App extends React.Component {render() {return (<Router><div><Switch><Route path="/" component={Home}></Route><Route path="/news" component={News}></Route><Route path="/list" component={List}></Route></Switch></div></Router>)}}
4.Link跳转
如果要用Link,要在router里面使用
class App extends Component {render() {return (<div><Router>//如果要使用link,要在router里面使用<ul><li><Link to="/">首页</Link></li><li><Link to="/about">About</Link></li></ul>{/* exact:路由的严格匹配,只有路径为/才会加载对应的路由 */}{/* switch:只有对应的路由才会被加载 */}<Switch><Route exact path="/" component={Home}></Route><Route path="/about" component={About}></Route><Route path="/detail" component={Detail}></Route></Switch></Router></div>);}}
