摘要:我希望在深入之前知道這些是的一名前端工程師,正在使用構(gòu)建公司內(nèi)部項(xiàng)目。對(duì)狀態(tài)的改變是異步的調(diào)用后,組件的并不會(huì)立即改變。使用官方推出的讓開發(fā)者已零配置的方式快速創(chuàng)建應(yīng)用。閱讀原文討論地址我希望在深入之前知道這些如果你想?yún)⑴c討論,請(qǐng)點(diǎn)擊這里
我希望在深入 React 之前知道這些
Canberk Morelli 是 OpsGenie 的一名前端工程師,正在使用 React 構(gòu)建公司內(nèi)部項(xiàng)目。通過這篇文章可以使初學(xué)者不要犯同樣的錯(cuò)誤。
1、每次調(diào)用 setState 都會(huì)引起組件的重新渲染 re-render每次state 改變或者傳入新的 props 都會(huì)調(diào)用 shouldComponentUpdate。
shouldComponentUpdate 默認(rèn)返回 true,開發(fā)者可以根據(jù)自己的邏輯決定是否返回 false。
注意:
不正確的 shouldComponentUpdate 邏輯可能引發(fā)錯(cuò)誤:應(yīng)該渲染的時(shí)候沒有渲染,或者不應(yīng)該渲染的時(shí)候卻渲染了
在 shouldComponentUpdate 進(jìn)行復(fù)雜的判斷容易引發(fā)性能問題,可以通過 React’s Performance Tools 來查找。
2、setState 對(duì)狀態(tài)的改變是異步的調(diào)用 setState 后,組件的 state 并不會(huì)立即改變。
一個(gè)經(jīng)常犯的錯(cuò)誤就是在 setState 后馬上使用 this.state。
setState 還有另一種用法:setState(updater, [callback]),通過傳遞一個(gè)函數(shù) updater。
第 2 個(gè)參數(shù)是修改完?duì)顟B(tài)后的回調(diào),但是不推薦在這里寫業(yè)務(wù)邏輯,一個(gè)比較不錯(cuò)的地方是寫到 componentDidUpdate 函數(shù)里。
生命周期大概分為 3 類:
掛載:組件被創(chuàng)建并插入到 DOM
更新:組件正在重新渲染,一般是由 props 或 state 的改變引起的
卸載:組件從 DOM 上移除
4、componentWillReceiveProps 的使用當(dāng)組件的 props 改變時(shí)需要更新 state時(shí)使用這個(gè)方法。
注意:
即使 props 沒有改變,也會(huì)調(diào)用 componentWillReceiveProps,因此需要在函數(shù)內(nèi)部比較 this.props 和 nextProps
在一個(gè)已掛載組件接收新 props 前,componentWillReceiveProps 被調(diào)用,因此在掛載階段是不會(huì)調(diào)用 componentWillReceiveProps 的
5、使用 React Developer ToolsReact Developer Tools 可以更方便的調(diào)試 React 應(yīng)用。
6、使用 Create React App官方推出的 Create React App 讓開發(fā)者已零配置的方式快速創(chuàng)建 React 應(yīng)用。
閱讀原文:I wish I knew these before diving into React
討論地址:我希望在深入 React 之前知道這些
如果你想?yún)⑴c討論,請(qǐng)點(diǎn)擊這里
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/89415.html
摘要:忍者級(jí)別的函數(shù)操作對(duì)于什么是匿名函數(shù),這里就不做過多介紹了。我們需要知道的是,對(duì)于而言,匿名函數(shù)是一個(gè)很重要且具有邏輯性的特性。通常,匿名函數(shù)的使用情況是創(chuàng)建一個(gè)供以后使用的函數(shù)。 JS 中的遞歸 遞歸, 遞歸基礎(chǔ), 斐波那契數(shù)列, 使用遞歸方式深拷貝, 自定義事件添加 這一次,徹底弄懂 JavaScript 執(zhí)行機(jī)制 本文的目的就是要保證你徹底弄懂javascript的執(zhí)行機(jī)制,如果...
摘要:面經(jīng)因?yàn)槲彝耆珱]有面試經(jīng)驗(yàn),從來沒有經(jīng)歷過面試,于是想著在去這類大公司面試之前先找成都的小公司練練手,積累點(diǎn)面試經(jīng)驗(yàn)。于是三月份開始就有成都的小公司開始約我面試。 前序 從我高考成績(jī)出來那一刻開始,從我在高考志愿上填上計(jì)算機(jī)科學(xué)與技術(shù)這幾個(gè)當(dāng)時(shí)在心中堪稱神圣的幾個(gè)字開始,我就已經(jīng)把進(jìn)入中國(guó)互聯(lián)網(wǎng)最高殿堂BAT作為我整個(gè)大學(xué)奮斗的目標(biāo),哪怕我就讀的是一所位于內(nèi)陸的雙非一本大學(xué)我也認(rèn)為我能...
摘要:原文地址一個(gè)非常適合入門學(xué)習(xí)的博客項(xiàng)目前端掘金一個(gè)非常適合入門學(xué)習(xí)的項(xiàng)目,代碼清晰結(jié)構(gòu)合理新聞前端掘金介紹一個(gè)由編寫的新聞。深入淺出讀書筆記知乎專欄前端專欄前端掘金去年的一篇老文章,恰好今天專欄開通,遷移過來。 破解前端面試(80% 應(yīng)聘者不及格系列):從閉包說起 - 掘金修訂說明:發(fā)布《80% 應(yīng)聘者都不及格的 JS 面試題》之后,全網(wǎng)閱讀量超過 6W,在知乎、掘金、cnodejs ...
摘要:原文地址一個(gè)非常適合入門學(xué)習(xí)的博客項(xiàng)目前端掘金一個(gè)非常適合入門學(xué)習(xí)的項(xiàng)目,代碼清晰結(jié)構(gòu)合理新聞前端掘金介紹一個(gè)由編寫的新聞。深入淺出讀書筆記知乎專欄前端專欄前端掘金去年的一篇老文章,恰好今天專欄開通,遷移過來。 破解前端面試(80% 應(yīng)聘者不及格系列):從閉包說起 - 掘金修訂說明:發(fā)布《80% 應(yīng)聘者都不及格的 JS 面試題》之后,全網(wǎng)閱讀量超過 6W,在知乎、掘金、cnodejs ...
閱讀 1673·2021-09-26 09:55
閱讀 1400·2021-09-23 11:22
閱讀 2770·2021-09-06 15:02
閱讀 2679·2021-09-01 11:43
閱讀 4009·2021-08-27 13:10
閱讀 3715·2021-08-12 13:24
閱讀 2093·2019-08-30 12:56
閱讀 3018·2019-08-30 11:22