问题标签 [xstate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
state - 仅在条件通过时设置值的瞬态转换
采取以下代码:
这是转到“bar”并根据“foo”中的一些定量数据设置警告的最佳方式吗?
javascript - 如何在 xstate 中重用状态转换?
采用以下有限状态机:
请注意,有两组重复的状态转换:
除了将状态转换定义为机器定义之外的良好 JavaScript 对象之外,是否有一种特殊的方法来做到这一点?
state - 您可以将嵌套状态与 xstate 中的字符串路径匹配吗?
来自@xstate/react GitHub 存储库:
...对于分层和并行机器,状态值将是对象,而不是字符串。在这种情况下,最好使用 state.matches(...)
看起来像这样:
但是你可以用 替换{ loading: 'user' }
吗"loading.user"
?
state - xstate 中 { actions: "" } 和 { entry: "" } 之间的区别?
在我看来,您可以通过以下方式之一触发动作:
明确地
隐含“入口”
在什么情况下你会选择其中一种?
state - xstate中的嵌套属性分配?
我知道您可以assign
像这样使用动作创建器:
但是你可以这样使用它吗?
当然,在不删除所有其他嵌套值的情况下foo
。
typescript - Webpack 弄乱字符顺序导致意外令牌错误
我知道标题不是很具有描述性,但找不到更好的词。我正在使用“xstate”库,构建结果导致“意外令牌”错误。
这是我的 webpack.config.js:
构建代码后,bundle.js 的部分看起来像这样,导致“意外令牌”错误:
Xstate 正在以这种方式导入:
reactjs - XState react - 跨多个组件共享机器实例
我有两台机器:AuthenticationMachine
和AddressMachine
。AuthenticationMachine 由 使用,Login component
而 AddressMachine 由 使用Address component
。但是我需要token
从 Address 组件中的 AuthenticationMachine 与 AddressMachine 一起使用。我试过Actor
在 AuthenticationMachine 中生成一个,但它没有用。
认证机
reactjs - 在 xstate 中模拟一个调用的 Promise
我正在尝试测试发生状态转换时是否调用了承诺。
我遵循了官方 xState 教程中概述的方法,但出现以下错误
Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.Timeout
这是我的状态机,它所做的只是在您从初始状态转换时调用一个承诺。
这是我的测试。我想模拟我的 api 调用,而不是像教程中那样触发真正的 api 调用。我用笑话来模拟副作用。我想断言模拟的副作用被调用了。但我得到了上面列出的错误。
我必须更改什么才能断言我的模拟副作用在机器转换时被调用?
javascript - 将事件发送到 XState 中的子服务数组
我有一个场景,我有一台父计算机和几台可以从父计算机生成的子计算机。
当前设置如下所示:
当父机器收到“UPDATE_CHILDREN”事件时,我想更新每个子服务。我知道您可以通过将数组传递给来发送批处理事件send
,但我希望每个事件也被发送到不同的服务。我只看到一次将它们发送到单个服务的示例。我尝试了几件事,包括以下内容:
我错过了一些明显的东西吗?这可能吗?