简单粗暴的react路由

32次阅读

共计 999 个字符,预计需要花费 3 分钟才能阅读完成。

我要的是简单粗暴的路由
习惯了 vue-router 路由的用法,再用 react-router 总感觉挺麻烦的。
那么就自己封装一个吧
1. 封装多级路由的情况 ————文件名为 routerView.js
import React from ‘react’;
import {Switch, Redirect, Route} from ‘dva/router’;
export default (props)=>{
return <Switch>{
props.routes.map((item, index)=>{
console.log(item.path);
return <Route path={item.path} key={index} render={(props)=>{
if (item.children){
return <item.component {…props} routes={item.children}></item.component>
}else{
return <item.component {…props}></item.component>
}
}}></Route>
})
}<Redirect from=”/” exact to=”/tab/index”></Redirect>
}</Switch>
}
2. 定义路由列表对象 ————文件名为 index.js
import React from ‘react’;

// 一级路由
import Tab from ‘../routes/TabPage’;
import Detail from ‘../routes/Detail’;

// 二级路由
import Rank from ‘../routes/RankPage’;
import Search from ‘../routes/SearchPage’
import Index from ‘../routes/IndexPage’;

export default {
routes: [{
path: ‘/tab’,
component: Tab,
children: [{
path: ‘/tab/index’,
component: Index
},
{
path: ‘/tab/rank’,
component: Rank
},
{
path: ‘/tab/search’,
component: Search
}]
},
{
path: “/detail”,
component: Detail
}]
}

3. 在全局挂载

4. 在页面中使用

有问题可以留言交流

正文完
 0