0

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

仅供参考,我使用Alt.jsaction.defer提供的触发动作。

4

1 回答 1

1

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


如何重构:

取决于商店当前触发的 Action 是什么意思:

  • 如果您在每次触发动作 A 时触发动作 B,则动作创建者(调用 action.defer 的代码)应该触发 A,然后触发 B
  • 如果 B 仅在您的商店状态满足某些条件时被触发,您可以在操作创建时检查该 previousState,并选择在 A 之后触发 B 或不触发 B。
于 2018-04-04T19:56:55.357 回答