在我的大多数反应应用程序中,我一直在使用Redux。
我想我将开始使用XState,因为我不必一直使用效果作为插件。
我认为这是一个更完整的模式。
我想了解的一件事是,它与 reactive (钩子和类)的连接以及它与一般的反应性编程的交互:
我是否可以(也应该)以同样的方式使用XState context作为Redux数据存储,在React 方式上共享一个单一的真相源?我的组件是否能够"connect“和"mapToProps”-- XState上下文和重命名器--只有当这些值发生变化时,而不是每次状态机状态发生变化时?
据我所知,Redux缺乏副作用,因此它可以遵循纯功能范例。但这与副作用的使用不同,例如,在网络应用程序或游戏中需要大量的时间。
提前感谢!
发布于 2020-05-15 09:44:17
如果您愿意,XState基本上可以在Redux (或其他状态管理库)中管理您的全局状态,但是它不会像Redux那样用React代替连接。您应该将它看作是Redux的扩展,您仍然需要遵循Redux中使用的模式,但是使用XState来执行它们。有几个例子:
redux-thunk这样的东西来处理这个问题。您的操作将变得简单得多,但是实际的处理将移到机器上。您可能会找到一种将所有这些连接在一起的方法(最近对Vuex做了类似的事情)。XState机器只是一个从Redux实体调用的单例,但是您不会将机器“嵌入”到Redux中。
您还需要像以前一样使用react-redux工具,并且机器永远不会真正暴露在实际的反应组件中(除了您也希望对本地状态使用XState机器)。
https://stackoverflow.com/questions/61771366
复制相似问题