微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

react umi实战

umi

  • umiJs是一个类Next.JS的react开发框架
  • 它基于一个约定,即pages目录下的文件即路由,而文件则导出react组件。
  • 然后打通从源码到产物的每个阶段,并配以完善的插件体系,让我们能把umi的产物部署到各个场景里面

    在这里插入图片描述

初始化项目

npm i umi -g

在这里插入图片描述

umi g page index

在这里插入图片描述

在这里插入图片描述

dev也是基于webpack-dev-server启动的。

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


约定式路由。
跳转

在这里插入图片描述

全局layout

约定src/layouts/index.js为全局组件,返回一个React组件,通过props.children渲染子组件。

在这里插入图片描述

有点类似react-route v6的OutLat,或者vue的router-view

在这里插入图片描述


在这里插入图片描述

嵌套路由

umi约定目录下有_layout.js使生成嵌套路由,

在这里插入图片描述


像这种有二级路由的以文件夹为主,

在这里插入图片描述


user组件会以_layout为主渲染,而他下面的子路由则渲染子props.children里面。

在这里插入图片描述


在这里插入图片描述


这种方式就是约定式路由+声明式路由,umi也有配置式路由。

动态路由

约定以[]包裹的文件或者文件夹为动态路由

在这里插入图片描述


在这里插入图片描述


这种动态路由也可以被渲染。

在这里插入图片描述


在这里插入图片描述

权限路由,路由守卫

通过指定高阶组件的wrappers属性达成效果


wrappers路面放着路劲。

在这里插入图片描述

在这里插入图片描述


每次点击Profile就跳不过去了。

动态注册路由

以src下的app.js为约定。

在这里插入图片描述


注意这个Foo不在pages里面。
动态注册

在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

mock数据

约定/mock下所有的的文件为mock文件

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐