国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 宁晋县| 正定县| 宜君县| 大城县| 和平区| 茶陵县| 库尔勒市| 古蔺县| 天台县| 上虞市| 蒙山县| 南雄市| 陕西省| 右玉县| 海淀区| 涡阳县| 萍乡市| 太仓市| 巴林右旗| 贵溪市| 浦北县| 文成县| 襄汾县| 辛集市| 长宁县| 海淀区| 迁安市| 镇江市| 蒲城县| 新巴尔虎左旗| 淮阳县| 香港 | 隆子县| 阳朔县| 三台县| 潜江市| 巴塘县| 南汇区| 建平县| 兴义市| 抚松县|