javascript - 触发操作时出现回流错误

标签 javascript reactjs flux refluxjs

这要么是一个大错误,要么我无法理解为存储触发的不同操作使用不同的 View (React)处理程序的有用性(如果每个操作都调用所有处理程序)。

这就是我的意思:https://jsfiddle.net/69z2wepo/10946/

预期输出:

action 1 handler triggered from action 1
-----------------
action 2 handler triggered from action 2

我实际得到的是:

action 1 handler triggered from action 1
action 2 handler triggered from action 1
-----------------
action 1 handler triggered from action 2
action 2 handler triggered from action 2

只要看看这个输出,我就可以说这是错误的。但要澄清的是:操作 ​​1 应该只触发操作 1 的处理程序,操作 2 应该只触发操作 2 的处理程序。

我做错了什么吗?

请帮忙!

P.S: 我还尝试手动使用 ComponentDidMount 和 this.listenTo;相同的行为。

最佳答案

从概念上讲,我认为您对 Flux 略有误解。该组件不监听操作/事件,而是监听存储中数据的更改。因此,您所看到的是正确的,因为在这两种情况下您都使用 trigger 来指示商店已更改。

该组件只关心触发操作,而不是消耗它们。因此,将组件中的 onAction1onAction2 标记为“处理程序”并不正确。

关于javascript - 触发操作时出现回流错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31039955/

相关文章:

javascript - 用于 JavaScript 生成的内容的 Python Web 抓取

javascript - AJAX:通过包含 '&' 字符的 CGI 传递字符串

javascript - Web firebase.messaging().onMessage 未触发,但后台通知完美触发

reactjs - useEffect 不等待 Promise.all?

javascript - 覆盖 Material-UI 样式不起作用

javascript - 如何在回发事件后删除目标 ='_blank'?

javascript - Next Js Router beforePopState ,在 handler 中访问组件的状态

javascript - 在这个非常简单的虚拟应用程序上,错误的处理程序捕获了 Flux 操作,为什么?

output - 流体动力 TYPO3 FLUX Fluidcontent - 前端没有输出?

javascript - 商店和模型有什么区别?