javascript - 在存储监听器中调用另一个操作是否是 Flux 的反模式?

标签 javascript reactjs redux flux alt.js

在我的代码库中,我在一些存储监听器内触发操作。 然而,我最近听说这是一个不好的做法。 为什么它不好?我应该如何修复或重构它? 我已经对这个问题进行了研究,但找不到一个好的例子。

仅供引用,为了触发操作,我使用 Alt.js 提供的 action.defer .

最佳答案

您的方法是有效的 Flux 模式,但是当处理操作的函数触发另一个操作时,它很容易成为代码上的错误点,并且很难跟踪错误。

<小时/>

如何重构:

取决于商店当前触发的操作意味着什么:

  • 如果每次触发操作 A 时都触发操作 B,则操作创建者(调用 action.defer 的代码)应触发 A,然后触发 B
  • 如果 B 在您的商店状态满足某些条件时被触发,您可以在创建操作中检查 previousState,并选择是否在 A 之后触发 B。

关于javascript - 在存储监听器中调用另一个操作是否是 Flux 的反模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49658547/

相关文章:

javascript - 如何获取适用于浏览器的 Twig.js

javascript - 获取变量的值以便从javascript中的字典中获取值

javascript - react native : How to format payment in mm/yy and spaced 16-digit card number in Javascript?

javascript - 如何停止 mouseleave 上的倒计时?

javascript - 记录的数据更改时更新绑定(bind)到公式的 ExtJS 按钮

javascript - react ,开 Jest : simulate submit form unit test

javascript - 处理 react.js 中未定义 Prop 的最佳方式是什么?

javascript - 用 Promise 修改状态

reactjs - React Action Creator 和 Action 类型命名约定?

javascript - React Redux 调试 Prop