在使用基于React的DVA框架开发时,遇到了不少的路由跳转问题,这里做一个小总结。
页面的跳转一般使用routerRedux.push 就可以了,当然前面要先引入 import {routerRedux, Switch, Route} from 'dva/router';
用法也是比较简单的,如下:
dispatch(routerRedux.push({
pathname: url,
search: JSON.stringify(searchParams)
}))
路由的配置,这里我使用了<Switch> 和<Route/> 搭配使用;
<Switch>标签里面只能有一个<Route/>可以输出
<Switch>
path='路径'
exact
children={() => (
//这里放页面Div
)}
/>
<Route
path=‘路径’
component={getComponent(window.dvaApp, ['evaluateStandard/addGroup'],
require('routes/evaluateStandard/AddGroup'))} //这里使用了我使用封装的一个方法,来匹配Modal层,也可以直接使用require
/>
</Switch>
这里要注意exact 这个属性,很多新手朋友会卡在这里,这个属性表示完全匹配,也就是路径严格匹配,通过才会请求下面的页面,一般上一级的页面使用这个属性,往下一级就不用使用这个属性了;
PS:刚开始写文章,不足之处请大家指出来,谢谢