当前位置:   article > 正文

【Umi】通过配置 dynamicImport loadingComponent 实现子页面加载效果_umi dynamicimport

umi dynamicimport

在前端单页面应用中,子页面的代码都是当用户访问到的时候,才会异步去加载子页面的代码。

如果子页面代码较大,那么会给用户一段时间的卡顿感,很影响使用体验。

所以,我们想在加载子页面代码时,显示 loading 组件,从而优化体验。

在 Umi 中,可以通过简单的配置,即可实现。

 

1、编写 loading 组件:

 

(src/components/PageLoading/index.js)

  1. import React from 'react';
  2. import { Spin } from 'antd';
  3. // loading components from code split
  4. // https://umijs.org/plugin/umi-plugin-react.html#dynamicimport
  5. export default () => (
  6. <div style={{ paddingTop: 100, textAlign: 'center' }}>
  7. <Spin size="large" />
  8. </div>
  9. );

 

2、在 .umirc.js 配置 dynamicImport 的 loadingComponent:

 

  1. export default {
  2. treeShaking: true,
  3. //extends: ['eslint:recommended'],
  4. plugins: [
  5. // ref: https://umijs.org/plugin/umi-plugin-react.html
  6. [
  7. 'umi-plugin-react',
  8. {
  9. antd: true,
  10. dva: true,
  11. dynamicImport: {
  12. loadingComponent: './components/PageLoading/index',
  13. webpackChunkName: true,
  14. level: 3,
  15. },
  16.        ...
  17. },
  18. ],
  19. ],
  20. ...
  21. }

 

3、配置完毕,等 umi 热加载完成后,回到页面,切换路由,就可以看到 loading 效果了:

 

 

以上。

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/324745
推荐阅读
相关标签
  

闽ICP备14008679号