React基礎知識點全解
• propTypes、defaultProps 作為 properties 定義,也可以在元件外部通過鍵值對方式進行設定。
• 設定元件初始的 state不支援 getInitialState,可以在元件的constructor中通過this.state來設定,直接作為 properties 定義也可以。
• 不支援 mixins,可以使用高階元件寫法,或者 decorator。
1. 頂層API
最簡單的React元件及渲染
react.js
Component API
react-dom.js
react-dom-server.js
2. jsx語法
類似 xml 的語法,用來描述元件樹
不用JSX,用React提供的API寫的話
2.1 註釋、命名、根元素個數、JSX 嵌入變數
- React只有一個限制, 元件只能渲染單個根節點。如果你想要返回多個節點,它們必須被包含在同一個節點裡。
2.2 styles
2.3 JSX SPREAD
可以用通過 {...obj} 來批量設定一個物件的鍵值對到元件的屬性,注意順序
2.4 屬性名不能和 js 關鍵字衝突
例如:className, readOnly, htmlfor
3. 資料流:state props propType
3.1 state && setState
用狀態控制組件變化 可以把一個元件看做一個狀態機, 每一次狀態對應於元件的一個 ui
元件內部的狀態,可以使用 state
3.2 props
通過 this.props 可以獲取傳遞給該元件的屬性值,還可以通過定義 getDefaultProps 來指定預設屬性值(這是ES5的寫法,ES6定義元件的預設props可以直接寫props)
下面幾個是props的常用API:
• this.props.children
• this.props.map
• this.props.filter
props是呼叫元件的時候傳遞進去的資料,一般用於元件樹資料傳遞
3.3 propTypes
通過指定 propTypes 可以校驗props屬性值的型別,校驗可提升開發者體驗,用於約定統一的介面規範。