import 
{HashRouter,//路径有个#开头部署到开发环境不方便url显示
Route,//用于匹配路径渲染组件
Link,//路由导航
Switch,//匹配第一个符合规则的路由,进行组件渲染 如果没有就redirect
withRouter,//只有路由跳转的组件props属性才包含路由信息 这个是withRouter(组件)
//强行把location,history,match注入组件props信息
NavLink//,高亮路由导航 a标签的伪类一样
BrowserRouter,//路径没有#美观用于部署项目时候使用 建议使用这个
Prompt,//离开路由界面的提示 不是两个嵌套路由切换 而是两个完全不同的路由切换
Redirec//t重定向不保留路径
} from 'react-router-dom'

route路由匹配从上至下

<Route exact path="/" component={Pa}></Route>
<Route exact path="/a"component={We} />

exact表示精确匹配 比如 /a 匹配 /a 不会匹配/a/b
一定注意前面不要在嵌套路由的时候在一级路由里面加exact
因为exact匹配一级路由前缀 后面的二级路由匹配不到
要加也是加在后一级路由上面

路由的使用很灵活 你可以在初始化的时候挂载渲染使用

也可以在组件里面 使用