zoukankan      html  css  js  c++  java
  • react-loadable简单实现

    什么是react-loadable

    npm desc:
    A higher order component for loading components with dynamic imports.
    一个异步加载component的高阶组件

    组件拆分

    做路由拆分可以达到一定程度的性能优化,loadable本质上做的事组件拆分

    基本用法

    import Loadable from 'react-loadable';
     
    const LoadableBar = Loadable({
      loader: () => import('./components/Bar'),
      loading() {
        return <div>Loading...</div>
      }
    });
    
     
    class MyComponent extends React.Component {
      render() {
        return <LoadableBar/>;
      }
    }
    

    简易实现

    基本思路,在组件和页面之间加一层代理,通过文件异步加载实现懒加载

    import React, { Component } from "react";
    
    const loadable = ({ loader, loading: Loading }) => {
      return class loadableComponent extends Component {
        state = {
          LoadedComponent: null
        };
        componentDidMount() {
          //loader是一个函数 执行import操作
          loader().then(res => {
            console.log(res.default);
            this.setState({ LoadedComponent: res.default });
          });
        }
        render() {
          const { LoadedComponent } = this.state;
          return LoadedComponent ? <loadedComponent /> : <Loading />;
        }
      };
    };
    export default loadable;
    
    
  • 相关阅读:
    ambari
    linux常用命令
    scala新版本学习(3)
    Spring中的AOP
    Spring中的Bean
    Spring的基本应用(1):依赖以及控制反转
    Scala新版本学习(2):
    python之time模块
    python之编码与解码
    爬虫之re数据提取的使用
  • 原文地址:https://www.cnblogs.com/geck/p/12547678.html
Copyright © 2011-2022 走看看