🚀採取行動才能改變狀態
從技術框架到人生哲理的奇妙聯想。
許多讀者知道,我在開發 SwiftUI 專案時,幾乎都會搭配 TCA(The Composable Architecture) 這個框架。
SwiftUI 的畫面由狀態驅動。改變狀態,就會改變畫面。而 TCA 能把狀態管理得很好。這是因為,在 TCA 的設計上,任何狀態(State
)修改,都只能在叫做 Reducer
的單元裡面執行。而要進到 Reducer
,只能從發生行動(Action
)開始。
用一句話來說:使用者的操作或系統事件 → Action
→ Reducer
依照邏輯來改變 State
→ SwiftUI 的畫面更新。
這個設計是限制,也是它能把狀態管理做好的原因,因為你完全無法從外部去干擾狀態,一切都要從 Action
來觸發。
換句話說,要改變狀態,就必須從行動開始。
某天我突然想到,人生不也是這樣嗎?