State
有兩種資料類型控制著組件:props
和 state
。props
由父組件設定,並且在組件的整個生命週期中都是固定的。對於會變更的資料,我們必須使用 state
。
一般來說,您應該在建構函式中初始化 state
,然後在想要變更它時呼叫 setState
。
舉例來說,假設我們想要製作一個 постійно 閃爍的文字。文字本身在建立閃爍組件時設定一次,因此文字本身是一個 prop
。「文字目前是開啟還是關閉」會隨著時間變更,因此應該保存在 state
中。
- TypeScript
- JavaScript
在真實應用程式中,您可能不會使用計時器設定 state。您可能會在從伺服器或使用者輸入取得新資料時設定 state。您也可以使用狀態容器,例如 Redux 或 MobX 來控制您的資料流。在這種情況下,您將使用 Redux 或 MobX 來修改您的 state,而不是直接呼叫 setState
。
當呼叫 setState 時,BlinkApp 將重新渲染其 Component。透過在計時器內呼叫 setState,組件將在計時器每次滴答時重新渲染。
State 的運作方式與在 React 中相同,因此如需處理 state 的更多詳細資訊,您可以查看 React.Component API。此時,您可能已經注意到我們的大多數範例都使用預設文字顏色。若要自訂文字顏色,您將必須瞭解樣式。