第 3 組讀書會 2-4 ~ 2-5 #14
letmetellatale
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
簡報連結:https://hackmd.io/Z2gFsMK8R5W_LUbUrinTJQ?both#/45
Recap
DOM
Virtual DOM
React element
2-4 JSX 根本不是在 JS 中寫 HTML
什麼是 JSX 語法?
問題點
=> 呼叫 React.createElement 的回傳「值」
解決方式
執行前用專門的工具將程式碼靜態轉譯成「可執行的 React.creacteElement 呼叫語法」後,即可在瀏覽器環境下正常執行。
Babel
JavaScript 社群中最主流&熱門的 source code transpiler
Babel 與 JSX 語法轉譯的概念
Transpiler(轉譯器)
換
JSX tranformer
新版 JSX transformer 與 jsx-runtime
React 17 前
React 17 後
_jsx( ) 與 react.createElement( ) 的不同
DOM、Virtual DOM、React element、JSX 關係概念
2-5 JSX 的語法規則脈絡與畫面渲染的實用技巧
嚴格標籤閉合
JSX 語法中的資料表達
表達一段固定的字串字面值
支援使用與 HTML 相同語法的風格來表達內容
表達一段表達式
如欲表達固定的字串字面值以外的表達式,都需使用 JSX 指定的語法 { } 將表達式包住
JSX 語法中表達另一段 JSX 語法作為子元素
畫面渲染邏輯
動態列表渲染
條件式判斷渲染
根據資料或狀態作為條件式,來判斷是否要繪製特定畫面區塊
&&運算式
當條件符合時渲染特定畫面,若不符合則都不印
透過 Truthy & Falsy 用來描述一個值在布林型
別自動轉換中的行為
Truthy:排除屬於 Falsy 值外的值
Falsy:
三元運算式
透過三元運算式來進行條件式渲染
a ? b : c
當 a 為 true 時,回傳 b,否則回傳 c
一段JSX語法的第一層只能有一個節點?
注意事項
Fragment
Beta Was this translation helpful? Give feedback.
All reactions