国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

詳解React中setState回調(diào)函數(shù)

2019-11-19 13:39:16
字體:
供稿:網(wǎng)友

在使用React過程中,中可以使用this.state來訪問需要的某些狀態(tài),但是需要更新或者修改state時(shí),一般而言,我們都會(huì)使用setState()函數(shù),從而達(dá)到更新state的目的,setState()函數(shù)執(zhí)行會(huì)觸發(fā)頁面重新渲染UI。但是?。?!setState是異步的!??!

1. 語法:

setState(updater[, callback]) //

updater是要改變的state對象,callback是state導(dǎo)致的頁面重新渲染的回調(diào),等價(jià)于componentDidUpdate
一般而言,在設(shè)置頁面某些state的時(shí)候,需要先設(shè)置好state,然后再對頁面的一些參數(shù)進(jìn)行修改的時(shí)候,可以使用setState的回調(diào)函數(shù)。

2. 分析一下區(qū)別

不在回調(diào)中使用參數(shù),我們在設(shè)置state后立即使用state:

this.state = {foo: 1};this.setState({foo: 123});console.log(this.state.foo);// 1

在回調(diào)中調(diào)用設(shè)置好的state

this.state = {foo: 2};this.setState({foo: 123}, ()=> { console.log(foo); // 123});

關(guān)于setState的回調(diào)函數(shù)的作用大概如此,這個(gè)函數(shù)相當(dāng)于componentDidUpdate函數(shù),和生命周期的函數(shù)類似。

3. 注意:

  1. 剛說了,setState是異步的!不保證數(shù)據(jù)的同步。
  2. setState更新狀態(tài)時(shí)可能會(huì)導(dǎo)致頁面不必要的重新渲染,影響加載。
  3. setState管理大量組件狀態(tài)也許會(huì)導(dǎo)致不必要的生命周期函數(shù)鉤子調(diào)用。

參考文檔:https://facebook.github.io/react/docs/react-component.html#setstate

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 镇赉县| 溧阳市| 青州市| 普洱| 黄龙县| 揭阳市| 增城市| 东平县| 博野县| 太和县| 昌吉市| 中阳县| 克东县| 龙游县| 莱西市| 青州市| 嘉兴市| 辽阳县| 双江| 大竹县| 嘉兴市| 武胜县| 洛阳市| 斗六市| 新绛县| 马龙县| 明溪县| 格尔木市| 河源市| 山东省| 敦煌市| 潮州市| 泸溪县| 新平| 个旧市| 独山县| 扶绥县| 莎车县| 建始县| 长阳| 栖霞市|