React - 路由 exact 的使用(路由严格匹配)
一 . exact 理解
- 默认使用的是模糊匹配(“输入的路径” 必须包含 “要匹配的路径”,且顺序要一致)
- 开启严格匹配(
exact
):<Route exact path="/home" component={Home} />
- 严格匹配不要随便开启,需要时再开启,有时候开启会导致无法继续匹配二级路由
二. exact 使用
import React, { Component } from "react";
import { Route, Switch } from "react-router-dom";
import Home from "./pages/Home";
import About from "./pages/About";
import MyNavLink from "./components/MyNavLink";
import "./app.css";
export default class App extends Component {
render() {
return (
<div className="row">
<div className="col-xs-2 col-xs-offset-2">
<MyNavLink to="/home/b/c">Home</MyNavLink>
<MyNavLink to="/about">About</MyNavLink>
</div>
<div className="col-xs-6">
{}
<Switch>
<Route exact path="/home" component={Home} />
<Route exact={true} path="/about" component={About} />
</Switch>
</div>
</div>
);
}
}