我发现有限状态机作为在响应应用程序中管理UI状态的替代方法。我认为它们很棒,但我对如何使用它们感到有些困惑。
我应该为整个应用程序构建状态机还是在每条路径中构建小型机器?
基于this spectrum discussion,我了解到你可以用状态图替换路由器。
例如,https://state-machine-yzgnuxxwmg.now.sh/
但是,https://statecharts.github.io/how-to-use-statecharts.html的第一段建议在开始时在组件级别使用状态图。
当您第一次了解状态图时,您可能会感觉状态图可用于描述应用程序的整个行为,从屏幕显示为登录的一部分,到每个复选框和每个文本字段的状态。屏幕,全部表示在状态图中。那将是一个来自地狱的状态图,以及更大的维护负担。相反,重点应该是抓住组件级别的行为,无论组件是什么。当然,单个屏幕将是一个组件。可能具有某些特定内部行为的单个文本字段(例如,它根据所需或无效的各种标志更改颜色)可能会保证将其包含在具有状态图的组件中以描述其行为。