react-router-dom v5升级到v6 并进行路由配置改造

v5到v6升级概括

官方文档点这里
参考内容点这里

  • Switch 组件替换为 Routes 组件。
  • 如何放置 Route 的渲染组件。
    • render替换为element
  • 路由中没有exact。
  • activeClassName和activeStyle不存在于NavLink组件了。
    • 可以通过函数回调访问 NavLink 组件的 isActive 状态
  • Redirect组件替换为Navigate组件。
  • 没有Prompt组件

目标

基于统一的路由配置进行路由加载,并进行统一逻辑处理,比如菜单渲染,页面鉴权等,同时实现组件的按需加载,当需要新增和编辑路由时,只需要修改[自定义路由配置]文件即可

自定义路由配置结构说明

  • path 页面路径
  • component 对应渲染组件
  • beforeEnter 渲染组件前的逻辑处理
  • menu 菜单属性,包括标签title和响应式布局等设置
  • children 嵌套子路由

注意:当存在子路由时,不要设置component属性,否则子组件可能不会被渲染

路由配置示例

  • route/const.js
import {
    userInfo } from '../service/common';
import CreateActivity from '../component/ActivityManage/ActivityList/CreateActivity';
import ActivityDetail from '../component/ActivityManage/ActivityList/ActivityDetail';
import ActivityPanel from '../component/ActivityManage/ActivityPanel';
import Durables from '../entry/Durables';
import ActivityManage from '../entry/ActivityManage';

const routes = [
    {
   
        path: '/',
        beforeEnter: userInfo,
        children: [
            {
   
                path: 'activity',
                children: [
                    {
   
                        path: 'list',
                        children: [
                            {
   
                                path: ':panelId',
                                component: ActivityPanel
                            },
                            {
   
                                index: true,
                                component: ActivityManage
                            },
                            {
   
                                path: 'create',
                                component: CreateActivity
                            },
                            {
   
                                path: 'edit/:activityId',
                                component: CreateActivity
                            },
                            {
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值