React最佳实践系列 —— Dva 进阶之路由和动态加载

本文介绍了在React和Dva框架中如何进行路由配置,包括基本使用、动态加载和高阶用法。通过动态加载路由和model,可以减少重复代码。此外,还探讨了无需路由的情况,如嵌入式开发中如何切换到BrowserRouter或使用dva-no-router。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印


作者: DocWhite白先生

一. 路由

1. 基本使用

这里先不谈论react-router中的 HashRouter或是 BrowserRouter,有兴趣深入了解React-Router的同学可以去看看它的官方文档和H5的history API。
直接以最简单暴力的方式结束在dva框架中,通过路由实现多页面的效果。

(1)最基本的使用

在 dva-cli创建的dva项目的 src目录中有一个router.js文件,从src/index.js文件中可以看出,从这里可以注册 dva 应用的路由规则以及与其对应的路由组件。同时注意看index.js文件, dva使用的model默认情况是需要在src/index.js中注册,这两点很关键。
所以假设我们需要完成多个页面,则每个页面的路由规则和路由组件都必须要在这个src/router.js文件中注册。下面就是最常用的一种使用方式。

在这里插入图片描述

经常使用这种写法的同学一定知道这种写法在页面比较多的时候写起来有点繁琐,同时页面所需要的model需要单独在 src/index.js中引入。一旦web应用里面的页面变多以及其引用的model变多,将导致 src/index.js 和 router.js需要重复很多无用代码。
当然聪明的同学肯定相当了,router.js里面的路由注册实际上可以通过数组形式遍历输出Route组件,只需要维护存储路由信息的数组即可,如下:
在这里插入图片描述

这样就可以把 routes 数组单独拆分出去用一个配置文件存储,而r

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值