lazyLoad:React中的组件懒加载案例及注意点

1. 什么叫懒加载?

   懒加载:随用随载。即在需要的时候才进行加载。

2. 为什么要设置懒加载?

     React和Vue都是单页面应用。

    在单页应用中,如果没有设置懒加载,webpack打包后的文件就会很大;从而造成进入首页时,需要加载的资源过多,时间过长,不利于用户体验。

    运用懒加载,就则可以将页面进行划分,在需要的时候加载对应的页面。可以有效的分担首页所承担的加载压力,减少首页加载用时。

3. 案例演示

注意点1:

    react是一种按需引入的机制,所以在使用时需要从react核心库中解构出 lazy 和 Suspense

   lazy函数:用于实现组件的懒加载式引入。

   Suspense:用于在 因网络延迟等而导致的组件不能快速的加载到页面 时出现的提示。

注意点2:如果不使用Suspense,将会出现如下的错误提示:

案例具体代码如下:App.jsx

import React, { Component, lazy, Suspense } from 'react'
// List组件 和 Search组件
const List = lazy( () => import('./components/List'))
const Search = lazy( () => import('./components/Search'))

export default class App extends Component {

  render() {
    return (
      <div>
        {/* 在组件未加载出来时,页面会显示:loading...... */}
        <Suspense fallback = { <h1>loading......</h1> }>
          <List/>
          <Search/>
        </Suspense>
      </div>
    )
  }
}

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vue-lazyload是一个基于vue的图片懒加载插件,它可以让我们在vue项目实现图片懒加载的功能。它通过自定义指令v-lazy和IntersectionObserver API来实现懒加载的功能。我们只需要安装并引入插件,并在需要懒加载的元素上使用v-lazy指令即可。在全局main.js文件,我们需要引入并注册vue-lazyload组件。可以通过以下代码实现: import Vue from 'vue'; import VueLazyLoad from 'vue-lazyload'; Vue.use(VueLazyLoad, { error: require('./assets/img/error.jpg'), // 加载失败显示的图片 loading: require('./assets/img/loading.gif'), // 加载显示的图片 preLoad: 1.3, // 预加载高度的比例 attempt: 3 // 尝试加载次数 }); 然后,在需要懒加载的图片元素上使用v-lazy指令即可,例如: <img v-lazy="imageSrc" alt="lazy-loaded-image"> 其,imageSrc是图片的地址。这样,当图片元素进入视口范围内,就会开始懒加载该图片。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【vue】如何使用vue-lazyload实现图片懒加载](https://blog.csdn.net/2301_76635548/article/details/131007819)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值