iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
Modern Web

一次打破 React 常見的學習門檻與觀念誤解 系列

雖然 React 從 2013 年面世至今已經過了相當久的時間了,但這麼多年來有一件事情始終沒有太大的改變,就是關於「大家普遍覺得 React 學習門檻很高,也很難學的好」這一點。這其實與 React 本身的設計思維有很大的關係,當你無法掌握其中核心的觀念與脈絡時,就會覺得 React 的許多設計與行為都很不直覺甚至莫名其妙,進而更難將這些概念與實際的程式碼做出連結。

因此這個系列文正是希望將這些 React 的學習門檻、核心觀念、設計思維進行一個盤點並深入解析,希望能對於正在學習 React,或是已經有 React 的經驗但是苦惱於難以進一步掌握的朋友們有所幫助。

鐵人鍊成 | 共 30 篇文章 | 158 人訂閱 訂閱系列文 RSS系列文
DAY 11

[Day 11] React 畫面更新的核心機制(下):Reconciliation

接著我們將上一章節介紹到的一律重繪概念與流程替換成具體的 React 程式來解釋: 當我們在 component 裡呼叫 setState 方法來觸發資料更新時...

2022-09-26 ‧ 由 Zet 分享
DAY 12

[Day 12] 如何在子 component 裡觸發更新父 component 的資料

React 中以 state 資料以及 setState 作為 reconciliation 的觸發點,並且以 props 作為 component 層層往下的...

2022-09-27 ‧ 由 Zet 分享
DAY 13

[Day 13] 深入理解 batch update

從前面的章節中我們已經充分地了解到,當呼叫 setState 方法時就會觸發對應 state 定義的 component 的 re-render。然而當我們呼叫...

2022-09-28 ‧ 由 Zet 分享
DAY 14

[Day 14] 以 functional updater 來呼叫 setState

在上一篇的章節中,我們詳細的解析了有關於連續呼叫 setState 時的自動 batching 機制。承著前文的脈絡,我們來探討看看一個延伸的情境:如果我們想基...

2022-09-29 ‧ 由 Zet 分享
DAY 15

[Day 15] 維持 React 資料流可靠性的核心關鍵:Immutable state

在 React 當中,state 是可以存放 JavaScript 中的任何資料型別,除了像是字串、數字等直接可以表示值的型別,當然也支援物件或陣列這種以參考(...

2022-09-30 ‧ 由 Zet 分享
DAY 16

[Day 16] Immutable update 物件與陣列的基本功

透過上一篇章的解析,我們已經了解到為什麼我們不應該在 React 中去 mutate state 的資料了。因此,當我們想更新物件或陣列時就必須以 immuta...

2022-10-01 ‧ 由 Zet 分享
DAY 17

[Day 17] Immutable update 的 nested reference clone 誤解

在前兩篇的章節中,我們已經了解到在 React 開發中 immutable update 的必要性以及基本的操作方法了。然而有趣的是,在我擔任前端面試官多年也面...

2022-10-02 ‧ 由 Zet 分享
DAY 18

[Day 18] Function component & class component 你可能不知道的關鍵區別

在解析過 React 的畫面更新的核心觀念以及 setState 進階的細節之後,接下來我們會往下一個大主題邁進 — 有關於 component 的 rende...

2022-10-03 ‧ 由 Zet 分享
DAY 19

[Day 19] 每一次 render 都有自己的 props、state 以及 event handlers

承接上一張節的脈絡,在我們解析大魔王 useEffect 之前,我們需要先更深入的重新梳理一下 component 生命週期的重要概念:render。 每一次...

2022-10-04 ‧ 由 Zet 分享
DAY 20

[Day 20] 每一次 render 都有自己的 effects

接續上一章節的概念,我們已經了解到了每一次 render 都有自己的 props 與 state 以及 event handlers,那麼 useEffect...

2022-10-05 ‧ 由 Zet 分享