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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM