這篇文章主要介紹“react調用setstate實例分析”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“react調用setstate實例分析”文章能幫助大家解決問題。
創(chuàng)新互聯(lián)公司從2013年成立,先為牡丹江等服務建站,牡丹江等地企業(yè),進行企業(yè)商務咨詢服務。為牡丹江企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
react調用setstate后會發(fā)生:1、將傳入的參數(shù)對象與組件當前的狀態(tài)合并,觸發(fā)調和過程;2、根據(jù)新的狀態(tài)構建React元素樹并重新渲染整個UI界面;3、得到元素樹之后,React會計算出新的樹與老樹的節(jié)點差異,然后進行最小化重渲染。
本教程操作環(huán)境:Windows10系統(tǒng)、react17.0.1版、Dell G3電腦。
React設計setState方法就是為了重新渲染頁面
setState()更新狀態(tài)的2種寫法
setState(updater, [callback]),updater為返回stateChange對象的函數(shù): (state, props) => stateChange 接收的state和props被保證為最新的
setState(stateChange, [callback]),stateChange為對象, callback是可選的回調函數(shù), 在狀態(tài)更新且界面更新后才執(zhí)行
總結: 對象方式是函數(shù)方式的簡寫方式 如果新狀態(tài)不依賴于原狀態(tài) ===> 使用對象方式 如果新狀態(tài)依賴于原狀態(tài) ===> 使用函數(shù)方式 如果需要在setState()后獲取最新的狀態(tài)數(shù)據(jù), 在第二個callback函數(shù)中讀取
調用 setState 之后發(fā)生了什么?
在代碼中調用setState函數(shù)之后,React 會將傳入的參數(shù)對象與組件當前的狀態(tài)合并,然后觸發(fā)所謂的調和過程(Reconciliation)。
經(jīng)過調和過程,React 會以相對高效的方式根據(jù)新的狀態(tài)構建 React 元素樹并且著手重新渲染整個UI界面。
在 React 得到元素樹之后,React 會自動計算出新的樹與老樹的節(jié)點差異,然后根據(jù)差異對界面進行最小化重渲染。
在差異計算算法中,React 能夠相對精確地知道哪些位置發(fā)生了改變以及應該如何改變,這就保證了按需更新,而不是全部重新渲染。
關于“react調用setstate實例分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
當前標題:react調用setstate實例分析
URL網(wǎng)址:http://www.rwnh.cn/article28/jipojp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設、網(wǎng)站建設、營銷型網(wǎng)站建設、品牌網(wǎng)站建設、網(wǎng)站收錄、品牌網(wǎng)站設計
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)