摘要:簡單地說,加入當(dāng)前的值是,第一次調(diào)用傳給的參數(shù)是,第二次調(diào)用時(shí),參數(shù)是,第三次調(diào)用時(shí),參數(shù)是,最終的效果是讓變?yōu)椤V档靡惶岬氖牵诤瘮?shù)被調(diào)用時(shí),并沒有改變,的改變要等到函數(shù)被重新執(zhí)行時(shí)或者函數(shù)返回之后才被改變。
less中串聯(lián)選擇器的表示
.container { &.content { } }
上面的&符號表示串聯(lián)選擇器,&.content表示選擇到.container.content這樣的元素
react中函數(shù)式的setState用法this.setState((oldState, oldProps)=>{ // 根據(jù)當(dāng)前state和props計(jì)算新的state值 .... return {newState} })
如果傳遞給this.setState的參數(shù)不是一個(gè)對象而是一個(gè)函數(shù)
這個(gè)函數(shù)會接受兩個(gè)參數(shù),第一個(gè)參數(shù)是當(dāng)前的state值,第二個(gè)是當(dāng)前的props,這個(gè)函數(shù)返回一個(gè)對象,這個(gè)對象代表想要對this.state的更改。
例子
function increment(state, props){ return {count: state.count+1} } function incrementMultiple(){ // 假設(shè)默認(rèn)的state中的count的值為0, // 則第一次setState時(shí)向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時(shí),state都已經(jīng)合并了之前的狀態(tài)修改結(jié)果。簡單地說,加入當(dāng)前this.state.count的值是0,第一次調(diào)用this.setState(increment),傳給increment的state參數(shù)是0,第二次調(diào)用時(shí),state參數(shù)是1,第三次調(diào)用時(shí),參數(shù)是2,最終incrementMultiple的效果是讓this.state.count變?yōu)?。
值得一提的是,在increment函數(shù)被調(diào)用時(shí),this.state并沒有改變,this.state的改變要等到render函數(shù)被重新執(zhí)行時(shí)(或者shouldComponentUpdate函數(shù)返回false之后)才被改變。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/112137.html
摘要:具體來說,異步執(zhí)行的運(yùn)行機(jī)制如下。同步執(zhí)行也是如此,因?yàn)樗梢员灰暈闆]有異步任務(wù)的異步執(zhí)行。主線程之外,還存在一個(gè)任務(wù)隊(duì)列。那些對應(yīng)的異步任務(wù),于是結(jié)束等待狀態(tài),進(jìn)入執(zhí)行棧,開始執(zhí)行。 所有任務(wù)可以分成兩種,一種是同步任務(wù)(synchronous),另一種是異步任務(wù)(asynchronous)。同步任務(wù)指的是,在主線程上排隊(duì)執(zhí)行的任務(wù),只有前一個(gè)任務(wù)執(zhí)行完畢,才能執(zhí)行后一個(gè)任務(wù);異步任...
摘要:年月日,我注冊了博客園的賬戶,開始記錄我的代碼日常。于是乎今天就注冊了一個(gè)賬戶,申請了一下博客,沒想到數(shù)分鐘就批準(zhǔn)了,這里給博客園的大大點(diǎn)一個(gè)贊。 2019年4月1日,我注冊了博客園的賬戶,開始記錄我的代碼日常。 學(xué)習(xí)web前端,是我之前沒有考慮過的事情。在大學(xué)渾渾噩噩度過了四年后,終于意識到就業(yè)的危機(jī),剛?cè)雽W(xué)的時(shí)候聽到學(xué)長學(xué)姐們說畢業(yè)即失業(yè),感覺離自己很遙遠(yuǎn),但臨近畢業(yè)我卻親身體會到...
摘要:沒有簡明的說,定義變量時(shí)省略是不安全的,不過是合法的。這時(shí)無論該變量是在什么位置定義的,解釋器都會賦予該變量以全局作用域。有安全的,合法的。 Var 1、沒有var 簡明的說,定義變量時(shí)省略var是不安全的,不過是合法的。這時(shí)無論該變量是在什么位置定義的,解釋器都會賦予該變量以全局作用域。 2、有var 安全的,合法的。定義的變量的作用域取決于定義的位置。 getCookie: fu...
摘要:走在前端的大道上持續(xù)更新,最后更新時(shí)間年月日從作用域說開去不再彷徨完全弄懂中的譯文總結(jié)你不知道的妙用深入理解之和中的對象拷貝高度自適應(yīng)的個(gè)方法中與區(qū)別中回調(diào)地獄的今生前世細(xì)談中的一些設(shè)計(jì)模式重溫核心概念和基本用法圖片預(yù)加載及插件編寫實(shí)例跨域 走在前端的大道上 持續(xù)更新,最后更新時(shí)間2017年6月19日 從 JavaScript 作用域說開去 不再彷徨:完全弄懂JavaScript中的...
閱讀 981·2021-11-22 09:34
閱讀 2165·2021-11-11 16:54
閱讀 2201·2021-09-27 14:00
閱讀 946·2019-08-30 15:55
閱讀 1534·2019-08-29 12:46
閱讀 604·2019-08-26 18:42
閱讀 644·2019-08-26 13:31
閱讀 3189·2019-08-26 11:52