博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dva中组件的懒加载
阅读量:7125 次
发布时间:2019-06-28

本文共 1212 字,大约阅读时间需要 4 分钟。

组件的按需加载是提升首屏性能的重要手段。

dva@2.0使用了react-router@4.0,相关的使用方式有变化,网上的讨论基本上都是旧的,不清楚的话会比较乱,这里做一下记录。

dva@2.0以前

dva@2.0以前的懒加载相关讨论有不少,可以参考中的写法,徐飞大佬的文章,本质上借助的是webpack的require.ensure实现代码分割,参考。

具体实现形如:

function RouterConfig({ history, app }) {  const routes = [    {      path: '/',      name: 'IndexPage',      getComponent(nextState, cb) {        require.ensure([], (require) => {          registerModel(app, require('./models/dashboard'));          cb(null, require('./routes/IndexPage'));        });      },    },    {      path: '/users',      name: 'UsersPage',      getComponent(nextState, cb) {        require.ensure([], (require) => {          registerModel(app, require('./models/users'));          cb(null, require('./routes/Users'));        });      },    },  ];  return 
;}

dva@2.0以后

dva@2.0使用了react-router@4.0,其中的路由是组件式的,原来的方式就不太好搞。因此dva提供了一个dynamic函数来处理。

在和中有介绍。
具体实现形如:

import dynamic from 'dva/dynamic';function RouterConfig({ history,app }) {  const UserPageComponent = dynamic({    app,    models: () => [      import('./models/users'),    ],    component: () => import('./routes/UserPage'),  });  return (    
);}export default RouterConfig;

转载地址:http://nseel.baihongyu.com/

你可能感兴趣的文章
更换linux/android的启动logo
查看>>
RESTClient - firefox插件
查看>>
我的友情链接
查看>>
3_整形列的可选属性
查看>>
springBoot(23):spring-security-基本
查看>>
centos6.5 常用影音播放器安装
查看>>
Android Uri命名格式
查看>>
给 System.Zip 增加了个(多文件解压时的)解压进度事件
查看>>
nginx 错误信息
查看>>
Android 后台Service : 向服务器发送心跳包
查看>>
学习笔记-Android之ContentProvider实现Notepad
查看>>
systemctl添加开机启动 & chkconfig 使用
查看>>
我的博客模板
查看>>
MapServer
查看>>
域名邮箱
查看>>
[译]从《孙子兵法》到软件开发
查看>>
xshell ssh centos7 终端乱码解决一例
查看>>
第三十五讲:tapestry表单组件详解之Palette
查看>>
Eclipse中创建maven web项目
查看>>
java加密算法简要介绍
查看>>