”状态过渡“,而不是”状态修改“,就是因为应用只能按照状态图的约定进行状态直接的转换,相当于可以理解为只能按照地图软件搜索出来的路径来走。你不可能用任意门进行空间跳跃(而 redux 是可以的)。
- 定义状态时,要注意状态的从属关系,否则很容易状态失控
state
的context
是否有明确的区分?该如何区分?一个值如何定义它是一个state
还是context
数据,在redux
中全部的数据都是state
。需要明确,什么是状态、什么是 context,如何定义具体业务的状态。- 每个状态可以对应不同的 context?
- 同一时刻只能存在一个状态,不会出现两个状态同时触发action的情况
- 如何嵌套状态导致代码层级过深,可以考虑将子状态抽离成单独的状态机,再设置到父状态机种
- 全局状态管理
- redux 中有全局 store的概念
- dva model 中的状态也是全局的,且通过 model 分开管理
- 在xstate 中实现全局状态的管理和维护,是不是只能通过 React Context 来实现?或者通过演员 Actor 来实现
- 哪种方式更好?
- 该如何实现一个可扩展、容易维护、干净的全局状态?
- xstate 中有相当多的通过 字符串来操作的行为,很容易造成问题,所以严格使用 typescript 是很有必要的
- target
- actions