需求:
讓 component 可以直接取得 parent 的一些屬性
例如,
常見的 HTML 屬性 (style、class、id 等
UI 畫面總是要一致,如果 component 不能「繼承」這些 css 就很不方便
有哪些屬性 component 可以取得呢?
- 自動的 Fallthrough ~ 常見的 HTML 屬性
- 特別指定的 (寫在 component 的參數)
等等,那 component 直接 Fallthrough 就好,
為什麼還要用 props 來接收呢?
用 props 的好處有:
- 明確定義
像 function 傳參數一樣,可以有 required 這類機制
這是寫出 robust 程式很重要的機制喔
- 響應式檢測
當父組件傳遞的 props 發生變化時,子組件中對該 props 的讀取會自動觸發重新渲染。
既然傳參數可以用 props,且有好處,我們就
一律使用 props
除非特殊考量,不可以用 Fallthrough
就像寫程式一樣
盡量避開 global 變數,一律傳參數進 function 一樣的道理