🚀採取行動才能改變狀態

從技術框架到人生哲理的奇妙聯想。

許多讀者知道,我在開發 SwiftUI 專案時,幾乎都會搭配 TCA(The Composable Architecture) 這個框架。

SwiftUI 的畫面由狀態驅動。改變狀態,就會改變畫面。而 TCA 能把狀態管理得很好。這是因為,在 TCA 的設計上,任何狀態(State)修改,都只能在叫做 Reducer 的單元裡面執行。而要進到 Reducer,只能從發生行動(Action)開始。

用一句話來說:使用者的操作或系統事件 → ActionReducer 依照邏輯來改變 State → SwiftUI 的畫面更新。

這個設計是限制,也是它能把狀態管理做好的原因,因為你完全無法從外部去干擾狀態,一切都要從 Action 來觸發。

換句話說,要改變狀態,就必須從行動開始

某天我突然想到,人生不也是這樣嗎?