国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

淺入深出setState(上篇)

wow_worktile / 2554人閱讀

摘要:點燃引擎這是一個組件實現組件可交互所需的流程,輸出虛擬,虛擬轉為,再在上注冊事件,事件觸發修改數據,在每次調用方法時,會自動執行方法來更新虛擬,如果組件已經被渲染,那么還會更新到中去。

Part one - setState點燃引擎

這是一個React組件實現組件可交互所需的流程,render()輸出虛擬DOM,虛擬DOM轉為DOM,再在DOM上注冊事件,事件觸發setState()修改數據,在每次調用setState方法時,React會自動執行render方法來更新虛擬DOM,如果組件已經被渲染,那么還會更新到DOM中去。?這個過程,setState就像一個點燃引擎的打火石,發動了React核心的調度層,然后直至渲染層的改變。

Part two - setState是異步的

剛接觸React的同學,對React的setState的使用偶爾會有一些偏頗,出現一些意料之外的情況。
比如:

onClickForReset=()=>{
    this.setState({value: []});
    // 此刻立馬取this.state做一些同步操作
    console.log(this.state.value);
}

或者是

increateCount(){
    this.setState({count: this.state.count + 1});
    this.setState({count: this.state.count + 1});
    this.setState({count: this.state.count + 1});
}

我們可以看一個現在的例子:
https://codesandbox.io/s/qqy9n5o2m9

setState比較熟練的同學可以跳過這一段代碼,但是有些剛學會使用React的同學經常會犯這個錯誤,一開始我只能粗暴地說:

setState是異步的,不會立即改變state的值。

多次setState調用生成的效果會合并。

第二個參數可以是一個回調函數。

setState可以接受一個函數(例子改動)

后來我逐漸也在想下面這兩個問題,現在這篇文章試圖盡量弄清的兩件事:

為什么要把setState設計成異步的,緣由是什么,解決了什么問題,有什么好處?

如何實現異步的setState,整體原理是怎樣的,有沒有什么特殊的騷操作?

我們可以自己也想一想,下面留給大家一片空白區。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/96075.html

相關文章

  • JavaScript五十問——淺入深出,自己實現一個 ES 6 Promise

    摘要:以上實現了最簡單的一個測試代碼當然,這不能算是一個,目前僅僅實現了根據狀態調用不同的回調函數。靜態函數接下來是的各種靜態函數每一個都執行完畢后返回總結現在,一個完整的對象就完成了。 前言 說到 ES6,Promise 是繞不過的問題;如果說 ES6 的 Class 是基于 Javascript 原型繼承的封裝,那么 Promise 則是對 callback 回調機制的改進。這篇文章,不...

    hiyayiji 評論0 收藏0
  • PHPer 面試指南-擴展閱讀資源整理

    摘要:前端篇收集的前端面試題和答案前端開發面試題史上最全的前端面試題匯總及答案前端工程師手冊協議工作原理協議運行機制的概述協議篇原理原理解析的工作原理與的區別理解后端篇年的面試總結垃圾回收機制面向對象設計淺談說清楚是什么和的區別索引原理及慢查 前端篇 收集的前端面試題和答案 前端開發面試題 史上最全的web前端面試題匯總及答案 前端工程師手冊 HTTP協議:工作原理 SSL/TLS協議運行...

    wemall 評論0 收藏0
  • 從項目中由入深的學習koa 、mongodb(4)

    摘要:序列文章從項目中由淺入深的學習微信小程序和快應用從項目中由淺入深的學習從項目中由淺入深的學習前言的出現前端已經可以用一把梭從前端寫到后臺。 showImg(https://segmentfault.com/img/bVbrRI5?w=1920&h=1080); 序列文章 從項目中由淺入深的學習vue,微信小程序和快應用 (1)從項目中由淺入深的學習react (2)從項目中由淺入深的學...

    null1145 評論0 收藏0
  • 從項目中由入深的學習typescript (3)

    摘要:序列文章從項目中由淺入深的學習微信小程序和快應用從項目中由淺入深的學習前言為什么會有大家有沒想過這個問題原因是是弱類型編程語言也就是申明變量類型可以任意變換。是的超集,也相當于預處理器本文通過一個項目來讓你快速上手。 showImg(https://segmentfault.com/img/bVbruJw?w=1024&h=768); 序列文章 從項目中由淺入深的學習vue,微信小程序...

    ninefive 評論0 收藏0

發表評論

0條評論

wow_worktile

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<