跳到主要內容

State

有兩種資料類型控制著組件:propsstateprops 由父組件設定,並且在組件的整個生命週期中都是固定的。對於會變更的資料,我們必須使用 state

一般來說,您應該在建構函式中初始化 state,然後在想要變更它時呼叫 setState

舉例來說,假設我們想要製作一個 постійно 閃爍的文字。文字本身在建立閃爍組件時設定一次,因此文字本身是一個 prop。「文字目前是開啟還是關閉」會隨著時間變更,因此應該保存在 state 中。

在真實應用程式中,您可能不會使用計時器設定 state。您可能會在從伺服器或使用者輸入取得新資料時設定 state。您也可以使用狀態容器,例如 ReduxMobX 來控制您的資料流。在這種情況下,您將使用 Redux 或 MobX 來修改您的 state,而不是直接呼叫 setState

當呼叫 setState 時,BlinkApp 將重新渲染其 Component。透過在計時器內呼叫 setState,組件將在計時器每次滴答時重新渲染。

State 的運作方式與在 React 中相同,因此如需處理 state 的更多詳細資訊,您可以查看 React.Component API。此時,您可能已經注意到我們的大多數範例都使用預設文字顏色。若要自訂文字顏色,您將必須瞭解樣式