摘要:簡單地說,加入當前的值是,第一次調(diào)用傳給的參數(shù)是,第二次調(diào)用時,參數(shù)是,第三次調(diào)用時,參數(shù)是,最終的效果是讓變?yōu)?。值得一提的是,在函?shù)被調(diào)用時,并沒有改變,的改變要等到函數(shù)被重新執(zhí)行時或者函數(shù)返回之后才被改變。
less中串聯(lián)選擇器的表示
.container { &.content { } }
上面的&符號表示串聯(lián)選擇器,&.content表示選擇到.container.content這樣的元素
react中函數(shù)式的setState用法this.setState((oldState, oldProps)=>{ // 根據(jù)當前state和props計算新的state值 .... return {newState} })
如果傳遞給this.setState的參數(shù)不是一個對象而是一個函數(shù)
這個函數(shù)會接受兩個參數(shù),第一個參數(shù)是當前的state值,第二個是當前的props,這個函數(shù)返回一個對象,這個對象代表想要對this.state的更改。
例子
function increment(state, props){ return {count: state.count+1} } function incrementMultiple(){ // 假設(shè)默認的state中的count的值為0, // 則第一次setState時向increment傳遞的state的count的值為0 this.setState(increment) // this.state的count的值仍然為0 // 向increment傳遞的state的count的值為1 this.setState(increment) // this.state的count的值仍然為0 // 向increment傳遞的state的count的值為2 this.setState(increment) } // 調(diào)用上述函數(shù),最終this.state.count會成為3
對于多次調(diào)用函數(shù)式setState的情況,React會保證調(diào)用每次increment時,state都已經(jīng)合并了之前的狀態(tài)修改結(jié)果。簡單地說,加入當前this.state.count的值是0,第一次調(diào)用this.setState(increment),傳給increment的state參數(shù)是0,第二次調(diào)用時,state參數(shù)是1,第三次調(diào)用時,參數(shù)是2,最終incrementMultiple的效果是讓this.state.count變?yōu)?。
值得一提的是,在increment函數(shù)被調(diào)用時,this.state并沒有改變,this.state的改變要等到render函數(shù)被重新執(zhí)行時(或者shouldComponentUpdate函數(shù)返回false之后)才被改變。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/112137.html
摘要:具體來說,異步執(zhí)行的運行機制如下。同步執(zhí)行也是如此,因為它可以被視為沒有異步任務(wù)的異步執(zhí)行。主線程之外,還存在一個任務(wù)隊列。那些對應(yīng)的異步任務(wù),于是結(jié)束等待狀態(tài),進入執(zhí)行棧,開始執(zhí)行。 所有任務(wù)可以分成兩種,一種是同步任務(wù)(synchronous),另一種是異步任務(wù)(asynchronous)。同步任務(wù)指的是,在主線程上排隊執(zhí)行的任務(wù),只有前一個任務(wù)執(zhí)行完畢,才能執(zhí)行后一個任務(wù);異步任...
閱讀 1047·2021-11-22 09:34
閱讀 2244·2021-11-11 16:54
閱讀 2262·2021-09-27 14:00
閱讀 990·2019-08-30 15:55
閱讀 1582·2019-08-29 12:46
閱讀 655·2019-08-26 18:42
閱讀 770·2019-08-26 13:31
閱讀 3271·2019-08-26 11:52