React-Router-v4(简称RR4)早已经正式发布,他遵循着React的设计理念,即万物皆组件,RR4只是提供了一大堆的导航功能的组件,具有声明式,可组合性的特点,RR4本次采用了单代码仓库模型架构,这意味着有若干个相互独立的包。
他们分别是
- React-router RR4核心
- React-router-dom 用于DOM绑定的React Router
- React-router-native 用于React Native 的Router
- React-router-redux React Router和Redux的集成
- React-router-config 静态路由配置助手
一般我们只需要引用react-router-dom这个包就行了,当然,如果要搭配redux,你就需要使用react-router-redux
React-router一些重要的API
BrowerRouter
一个使用了HTML5的History API的高阶路由器组件,保证你的UI界面和URL保持同步,拥有的是属性。
basename:string
作用:为所有位置添加一个基准URL
使用场景:假如你需要把页面部署到服务器的二级目录,你可以使用basename设置此目录
getUser Configmation:func
作用:导航到页面前执行的函数,默认使用window.confim
使用场景:当需要用户进入页面前执行什么操作时可用,一般用的不多
forceRefresh:bool
作用:当浏览器不支持HTML5的History API时强制使用刷新页面
使用场景:同上
KeyLength:number
作用:设置它里面路由的History.key的长度,默认值是6,(key的作用点击同一个链接时,每次该路由下的location.key都会改变,可以通过key的变化来刷新页面)
children:node
作用:渲染唯一子元素
使用场景:作为一个React组件,天生自带children属性。