gpt4 book ai didi

javascript - 在 "Reflux"中, Action 的作用是什么?

转载 作者:行者123 更新时间:2023-11-30 16:51:02 25 4
gpt4 key购买 nike

我正在熟悉 Flux 架构和 Reflux - 更简单的版本,没有调度程序 - 用于 ReactJS。

在完整的 Flux 中,听起来操作具有(或至少可以具有)明确且重要的目的:它们可用于更新外部服务(例如,通过API),如本问题所述:Should flux stores, or actions (or both) touch external services?

然而,在 Reflux 中, Action 绝对只是愚蠢的消息解析器。所以我的问题是,它们的作用是什么?为什么要有它们?如果您的 View /组件只是直接调用商店中的方法,会发生什么不好的事情?

我正准备将我的小应用程序从 Flux 转换为 Reflux,看起来我会将当前在我的操作中的所有逻辑都转移到商店中。在我看来,Reflux 中的操作除了充当组件和商店之间无用的中间人之外别无他法。我错过了什么?

最佳答案

除了在 OP 评论中指出的在任意数量的商店中监听 Action 的能力之外:

Reflux 操作也可以通过将其放在 preEmit action hook 中来触及 API 等。例如。通常,您会创建一个异步操作,在 preEmit Hook 中添加一些异步内容,然后在异步工作完成(或失败)时调用“完成”或“失败”子操作。当然,您也可以在 preEmit Hook 中进行同步工作。我想到了日志记录。

也完全有可能在商店中监听一个 Action 并在商店中执行异步工作,然后从那里调用 .completed 或 .failed,但我认为已经形成的共识是商店不应该那样做工作,商店应该只对变化的数据使用react,而不是执行业务逻辑。

异步操作也是 work as promises .当然,您也可以实现您的商店来做到这一点,但我认为这是数据存储的很多责任。

关于javascript - 在 "Reflux"中, Action 的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30529453/

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