同样的例子。
假设这次我希望某些状态是依赖於某些状态的!
比如说有输入有效(valid)跟输入无效(invalid),是依赖於 input 是否改动过(changed)
改了才知道,输入有效 or 输入无效
所以我们终於可以移除昨天不合理的假设,输入有效、无效在 unchanged 时,是不合理的,在 changed 之後,这个 changed 才有需要代表监别 valid / invalid,我们可以说 valid / invalid 这两个子状态依赖於 changed 之下。
valid / invalid 无法透过完整透过自己,代表整个状态的全貌。(或者可以说,我们在 unchanged 时,不在意是否 valid )
跟平行式状态的状态、事件一样,一样是 3 组子状态 6 种事件。
只不过这次我们带入了严谨的依赖性进来我们的状态机。
也就是说,当处在某个状态时,另一些状态的存在才是有意义的、合理的时。我们可以藉由阶层的概念、手段,来描述我们的状态机,也可以让我们免除 state 大爆炸的情形。
https://statecharts.dev/state-machine-state-explosion.html
https://xstate.js.org/docs/guides/hierarchical.html
<<: 每日挑战,从Javascript面试题目了解一些你可能忽略的概念 - Day14
>>: Day 14:凯撒密码之Shifting Letters
.风险暴露(Risk Exposure)是指风险给个人,项目或组织带来的潜在损失。(ISO 160...
在写测试的时後,一定会有第三方服务或是会打向外部api的时候,如果不想让他真的去打外部api怕速度过...
哇 倒数一天!最近都在准备把专案推上去 production 了,大家可以看看 Next.js 整理...
故事简述 核二厂2号机於2021/7/27清晨6时32分发生反应炉急停事件,初步调查为人为疏失 原能...
Unity介面介绍 Unity最上方的工具列。 File:打开旧场景,开新场景、储存场景、开新旧或...