这可能是一个大错误,或者我无法理解为商店触发的不同操作设置不同视图(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:我也试过用this.listenTo手动使用ComponentDidMount;同样的行为。
答案 0 :(得分:2)
从概念上讲,我认为你有点误解了Flux。该组件不会侦听操作/事件,它会侦听商店中数据的更改。因此,您所看到的内容是正确的,因为在这两种情况下,您都使用trigger
来表示商店已更改。
该组件仅关注触发操作,而不是消耗它们。因此,将组件中的onAction1
和onAction2
标记为"处理程序"并非如此。