国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

react圖片預加載

這篇具有很好參考價值的文章主要介紹了react圖片預加載。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

道阻且長,行而不輟,未來可期

圖片預加載的原理:new一個image對象,用這個對象加載圖片,等這個對象將這個圖片請求完后,再將這個圖片放入原本應該放置的位置

代碼如下:

import React, { useEffect, useState } from 'react';

const ImagePreloader = ({ src }) => {
  const [isLoading, setIsLoading] = useState(true);
  const [isError, setIsError] = useState(false);

  useEffect(() => {
  	//new一個image對象,用這個對象加載圖片
    const image = new Image();
    image.src = src;

	//圖片加載完成
    image.onload = () => {
      setIsLoading(false);
    };

    //圖片加載錯誤
    image.onerror = () => {
      setIsLoading(false);
      setIsError(true);
    };
   
    return () => {
      // 清除事件處理程序以避免內存泄漏
      image.onload = null;
      image.onerror = null;
    };
  }, [src]);

  return (
    <div>
      {isLoading ? (
        <div>Loading...</div> // 可根據需求自定義加載時的顯示內容
      ) : isError ? (
        <div>Error loading image</div> // 圖片加載錯誤時的顯示內容
      ) : (
        <img src={src} alt="Preloaded" />//等圖片加載完成后,再把圖片賦值給組件中的img
      )}
    </div>
  );
};

export default ImagePreloader;

骨架屏

圖片預加載的時候,可以使用骨架屏做加載效果
使用padding-top:100%給圖片的高度做占位
簡單的骨架屏效果文章來源地址http://www.zghlxwxcb.cn/news/detail-685862.html


  .imgLoading {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
        rgba(190, 190, 190, 0.2) 25%,
        rgba(129, 129, 129, 0.24) 37%,
        rgba(190, 190, 190, 0.2) 63%);
    background-size: 400% 100%;
    animation: skeleton-loading 1.4s ease infinite;
  }

  @keyframes skeleton-loading {
    0% {
      background-position: 100% 50%;
    }

    100% {
      background-position: 0 50%;
    }
  }

到了這里,關于react圖片預加載的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • JavaScript 框架比較:Angular、React、Vue.js

    在 Web 開發(fā)領域,JavaScript 提供大量技術棧可供選擇。其中最典型的三套組合,分別是 MERN、MEAN 和 MEVN。這些首字母相同的選項各自代表不同的技術加工具組合。為了在這些技術棧中做出明智選擇,讓我們先從核心組件聊起,再對各自前端框架(React、Angular 和 Vue)進行簡化比

    2024年01月20日
    瀏覽(36)
  • js實現(xiàn)img圖片懶加載

    在前端中,可以使用 JavaScript 來實現(xiàn)圖片的懶加載。下面是一種常見的實現(xiàn)方式: 在 HTML 文件中,將需要懶加載的圖片的 src 屬性替換為一個占位符,例如使用一個透明的空白圖片或者是一個包含背景色的 div。 給這些圖片添加一個自定義的屬性,例如 data-src ,并將真實的圖

    2024年02月11日
    瀏覽(19)
  • react結合js獲取屏幕鼠標滾動等距離實現(xiàn)頁面懶加載

    react結合js獲取屏幕鼠標滾動等距離實現(xiàn)頁面懶加載

    ????????也叫延遲加載,指的是在長網頁中延遲加載內容或圖像,是一種很好優(yōu)化網頁性能的方式。在滾動屏幕之前,可視化區(qū)域之外的內容不會進行加載,在屏幕滾動距離底部到一定距離時才加載。這樣網頁的加載速度更快,減少了服務器的負載。 ????????懶加載適

    2024年02月10日
    瀏覽(27)
  • Three.js加載360全景圖片/視頻

    Three.js加載360全景圖片/視頻

    效果 原理 將全景圖片/視頻作為texture引入到three.js場景中 將貼圖與球形網格模型融合,將球模型當做成環(huán)境容器使用 處理視頻時需要以dom為載體,加載與控制視頻動作 每次渲染時更新當前texture,以達到視頻播放效果 全景圖片加載有球體與正方體兩種模式,區(qū)別在于是加載

    2024年02月04日
    瀏覽(20)
  • 從javascript到vue再到react:前端開發(fā)框架的演變

    從javascript到vue再到react:前端開發(fā)框架的演變

    目錄 JavaScript: 動態(tài)語言的基礎 JavaScript:Web開發(fā)的起點 Vue.js: 漸進式框架的興起 Vue.js:簡潔、高效的前端框架 React.js: 聲明式UI的革新 React.js:強大、靈活的前端框架 演變之路與未來展望 演變過程 當提到前端開發(fā)中的框架時,JavaScript、Vue.js和React.js是三個最常見的名詞。它

    2024年02月07日
    瀏覽(34)
  • 【three.js / React-three-fiber】加載3D模型性能優(yōu)化

    【three.js / React-three-fiber】加載3D模型性能優(yōu)化

    無論是大型虛擬世界還是簡單的網站,性能優(yōu)化都是必要的。 特別是在運用三維模型的情況下,我們需要更加深入的優(yōu)化。因為 三維模型通常包含大量的數據和復雜的幾何形狀 ,如果不進行性能優(yōu)化,瀏覽器可能會因為負載過重而崩潰。 在本文中,我們將探討如何在 thre

    2024年02月02日
    瀏覽(24)
  • js,jquery解決 圖片加載-滾動底部 問題

    問題描述 :讓圖片加載完成后,再執(zhí)行滾動函數,避免出現(xiàn)圖片加載一半的時候,滾動下來底部只出現(xiàn)半張圖片。 這里記錄4種測試成功方式: (適用于不容易找到圖片位置的情況,否則直接onload函數即可)

    2024年01月18日
    瀏覽(17)
  • 使用JavaScript給圖片添加圖片水印的前端實現(xiàn)方法

    當涉及圖片處理時,JavaScript是一種強大的工具。在本篇博客中,我們將學習如何使用JavaScript來給圖片添加水印,并將其封裝成一個函數,以便在需要的時候重復使用。 在開始之前,確保你已經準備好了以下內容: ? ? ? ? 1.一張待添加水印的圖片。 ? ? ? ? 2.水印圖片。

    2024年03月15日
    瀏覽(41)
  • 前端(十五)——開源一個用react封裝的圖片預覽組件

    前端(十五)——開源一個用react封裝的圖片預覽組件

    ??博主:小貓娃來啦 ??文章核心:開源一個react封裝的圖片預覽組件 Gitee:點此跳轉下載 CSDN:點此跳轉下載 裝依賴 運行 打開 創(chuàng)建一個React函數組件并命名為 ImageGallery 。 在組件內部,使用useState鉤子來定義狀態(tài)變量,并初始化為合適的初始值。 selectedImageUrl 來追蹤當前選

    2024年02月10日
    瀏覽(27)
  • JavaScript框架 Angular、React、Vue.js 的全棧解決方案比較

    JavaScript框架 Angular、React、Vue.js 的全棧解決方案比較

    在 Web 開發(fā)領域,JavaScript 提供大量技術??晒┻x擇。其中最典型的三套組合,分別是 MERN、MEAN 和 MEVN。前端框架(React、Angular 和 Vue)進行簡化比較。 MERN 技術棧包含四大具體組件: MongoDB:一款強大的 NoSQL 數據庫,以靈活的 JSON 格式存儲數據。 Express.js:一套極簡但強大的

    2024年02月03日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包