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;

    非本人创作
  • 相关阅读:
    NOIP普及组2003经验总结
    Day6上午 DP练习题
    Day4 图论
    Day3 数据结构
    使用ettercap进行dns欺骗和获取目标浏览的图片
    flask入门
    攻防世界-web-unserialize3
    数据结构课设作业-----飞机订票系统
    bugku NaNNaNNaNNaN-Batman
    it's a test
  • 原文地址:https://www.cnblogs.com/xiaoniaohhl/p/14531416.html
Copyright © 2011-2022 走看看