gpt4 book ai didi

javascript - 让 xstate 机器接收事件并更新上下文(但不更改状态),无论它处于哪种状态

转载 作者:行者123 更新时间:2023-12-01 23:40:49 26 4
gpt4 key购买 nike

基本上,我有很多不同的状态。我希望机器能够通过事件从外部接收和更新上下文(无论它处于哪种状态)。我发现此链接说明事件如何成为根级别... Using xstate, is it possible to configure an event that is applicable under all states and is handled in the same way across all states and substates?

但我似乎还记得 new assigns() 在状态发生变化之前是如何真正生效的。

最佳答案

我不知道它在任何地方都有记录,但我从 xstate 论坛上学到的一个看似不错的解决方案是进行顶级转换。

{
initial: 'Idle',
on: {
NEW_BLOCK: {
actions: assign({
block: 'addNewBlock'
}),
internal: true,
},
},
states: {
Idle: {},
StateOne: {},
StateTwo: {},
}
}

这将导致整个机器始终监视“NEW_BLOCK”事件,并将其添加到上下文中,无论该事件是否在空闲、StateOne、StateTwo 或您可能添加的任何其他状态期间到达。无论机器处于何种状态,它都会导致自转换。但更新后的上下文将在之后立即可用。

关于javascript - 让 xstate 机器接收事件并更新上下文(但不更改状态),无论它处于哪种状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64999160/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com