• react-loadable 实现路由懒加载


    安装依赖:

    yarn add react-loadable
    

    创建通用工具类:

    src/util/loadable.js

    /*路由懒加载(异步组件)*/
    import React from 'react';
    import Loadable from 'react-loadable';
    
    //通用的过场组件
    const LoadingComponent =()=>{
        return (
            <div>loading</div>
        ) 
    }
    
    //过场组件默认采用通用的,若传入了loading,则采用传入的过场组件
    export default (loader,loading = LoadingComponent)=>{
        return Loadable({
            loader,
            loading
        });
    }
    

    router里面调用方式改为如下

    /*配置路由*/
    import React, { Fragment } from 'react'
    import { BrowserRouter, Route } from 'react-router-dom'
    import loadable from '../util/loadable'
    
    const Home = loadable(()=>import('@pages/home'))
    
    const Routes = () => (
        <BrowserRouter>
            <Route path="/home" component={Home}/>
        </BrowserRouter>
    );
    
    export default Routes
    

    封装之后,laodable只需写一次,改变的只是组件的引入方式,这样一来就方便多了,

    react-loadable是以组件级别来分割代码的,这意味着,我们不仅可以根据路由按需加载,还可以根据组件按需加载,使用方式和路由分割一样,只用修改组件的引入方式即可

  • 相关阅读:
    2.2.16锁对象的改变
    2.2.15内置类与同步:测试2
    2.2.14内置类与同步:测试1
    2.2.13内置类与静态内置类
    libev客户端
    Linux下sqlite3编程
    ds18b20驱动及应用程序
    ds18b20采集温度并上报服务器
    linux下GPRS模块ppp拨号上网
    linux下GPRS模块的应用程序
  • 原文地址:https://www.cnblogs.com/crazycode2/p/12210778.html
Copyright © 2020-2023  润新知