REACT-ROUTER
配置:嵌套式(路由配置在组件内部)
包容性:(多路由渲染)
形态:动态路由
理念
遵循just Component 的API 设计理念万物皆组件,路由规则位于布局和UI本身之间
安装
react router被拆分成三个包:react-router,react-router-dom和react-router-native.react-router提高核心的路由组件与函数。其余两个则提供运行环境(即浏览器与react-native)所需要的特定组件
下载指令
yarn add react-router-dom --save
提供组件
组件 | 作用 |
---|---|
BrowserRouter | 约定模式为history,使用HTML5提供的history API来保持 UI和URL的同步 |
HashRouter | 约定模式为hash,使用URL的hash(列如:window.location.hash)来保持UI和URL的同步 |
NavLink | 声明式跳转 还可以约定 路由激活状态 |
Link | 声明式跳转 ~~push无激活状态 |
Redirect | 重定向 ~~replace |
Route | 匹配,展示 |
Switch | 排他性匹配 |
Prompt | 后置守卫 |
withRouter | 把不是通过路由切换过来的组件中,将history,location,match三个对象传入props对象上 |
结构
BrowserRouter|HashRouter
-
根组件(App)
- NavLink|Link - Router - Redirect -子组件 - NavLink|Link - Route ...