日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

react 判断图片是否加载完成_如何判断图片(img)是否已经加载成功--基于react...

發布時間:2024/4/18 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 react 判断图片是否加载完成_如何判断图片(img)是否已经加载成功--基于react... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我過去經常會問:

有沒有一種方法去判斷子類組件是否已經渲染完成?

答案當然是有的啦 ?componentDidMount(),在react component 已經渲染完成時?就會調用?componentDidMount()方法

如果你對??componentDidMount() 不太熟悉, 那么建議你去看看react組件的生命周期(React Component Lifecycle Methods),哪里每一個方法你早晚都會用到的。

稍微多了解一些,你會意識到提問者真的想要知道的是圖片何時才算已經完成加載了,以react已經渲染了標簽為標準是不能拿來判斷圖片已經加載完成的。

讓我們來建立幾個簡單的定義來理解rendered 和?loaded:rendered(也叫渲染完成):react 已經把你的虛擬DOM元素轉化到真實DOM元素中并和真實的DOM建立起連接。

loaded:指圖片數據或者其他來自服務器端等遠程客戶端上的內容已經下載完成了(或者已經下載失敗了)

如果你還不都清楚,簡單的說,render 總是會在 load 之前

為什么要等待一個圖片加載?

額, 也許當你的圖片已經加載完了后你希望:

隱藏loading圖標。

自動加載更多圖片。

轉化UI,使圖片更加凸顯。

或者其他理由

想要找出如何判斷圖片加載事件的方法,那么就接著往下讀吧。

onLoad & onError

onload 和 onerror這兩個屬性以及可以正常的在DOM標簽上使用了(HTMLImageElement),react 要使用駝峰格式來獲取這個事件,這也是onLoad?and?onError的來由。react的文檔中已經提倡這么用了,但并沒有討論具體為什么要這么用(Image Events)

所以你只要添加?onLoad?and?onError這兩個事件在你的react 標簽中就行了。如果還是不夠清楚,那么看看下面的代碼栗子吧!

Short Example

這里是一個關于使用 onLoad 事件的簡短的栗子, 想看更多詳細的關于如何顯示loading圖直到圖標加載完成的栗子, 就看看作者的下一篇文章(React Image Gallery)

下面的這個組件,?ImageWithStatusText, 加載一張圖片和和顯示一段文本:‘loaded‘ 或者 ‘failed to load‘

import React from ‘react‘;

class ImageWithStatusText extends React.Component {

constructor(props) {

super(props);this.state = { imageStatus: null};

}

handleImageLoaded() {this.setState({ imageStatus: ‘loaded‘});

}

handleImageErrored() {this.setState({ imageStatus: ‘failed to load‘});

}

render() {return(

src={this.props.imageUrl}

onLoad={this.handleImageLoaded.bind(this)}

onError={this.handleImageErrored.bind(this)}/>

{this.state.imageStatus}

);

}

}

exportdefault ImageWithStatusText;

它相當短吧。好好理解吧,希望對你們有用(這段話是譯者瞎嗶嗶的)

原文:http://www.cnblogs.com/anhaiming/p/5456154.html

總結

以上是生活随笔為你收集整理的react 判断图片是否加载完成_如何判断图片(img)是否已经加载成功--基于react...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。