我是 xstate 的新手,我正在尝试在应用程序中使用它,用户可以根据父状态和/或子状态在应用程序中请求不同的东西。但是,无论应用程序处于什么状态/子状态,用户都应该能够提出一些请求。对这些事件的响应是相同的,无论之前的状态是什么。如何配置此事件,以便不必在所有状态/子状态下重复定义它?
问问题
719 次
1 回答
4
是的 - 选择转换的算法类似于 DOM 事件传播,因为它从叶节点搜索到根节点。
您可以在根节点(顶级)上定义转换,这将在任何状态下自然处理:
import { createMachine } from 'xstate';
const machine = createMachine({
// ...
// top-level transitions
on: {
ESC: {/* ... */}
},
states: {
// ...
someState: {
on: {
ESC: {/* override top-level transition */}
}
}
}
});
于 2020-04-24T13:59:05.557 回答