zoukankan      html  css  js  c++  java
  • 【记录】 【Umi】通过配置 dynamicImport loadingComponent 实现加载效果

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

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

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

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

    1、编写 loading 组件:
    import React, { useEffect } from 'react'
    import NProgress from 'nprogress';
    import 'nprogress/nprogress.css';
    function PageLoading() {
      useEffect(() => {
        const progress = NProgress.start();
        return () => {
          progress.done();
        }
      }, [])
      return<></>
     }
    
    export default PageLoading
    

    2.配置config

    import { defineConfig } from 'umi';
    export default defineConfig({
      dynamicImport: {
        loading:'@/components/PageLoading'
      },
      nodeModulesTransform: {
        type: 'none',
      },
      antd: false,
      mock: false,
      hash: true,
      proxy: {
        '/ssp-api/': {
          target: '====',
          changeOrigin: true,
          ws: false,
        },
      },
    });
    

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

    参考:https://www.jianshu.com/p/14609ad96780

  • 相关阅读:
    day 12 元组的魔法
    day 12 列表的魔法,及灰魔法
    day 11 Python课上练习解释与基础知识练习题试题一
    day 11 rang的用法和练习
    day 10 字符串的魔法
    day1 Python可变与不可变类型
    day1 数据类型
    Math对象
    Calendar对象
    Date对象
  • 原文地址:https://www.cnblogs.com/Ewarm/p/12965643.html
Copyright © 2011-2022 走看看