在Redux中,如果在动作触发时调用了所有reducer,那么如何防止动作之间的命名冲突呢?

时间:2019-12-09 20:29:06

标签: reactjs redux

每个大组件都有自己的动作列表。文件分隔意味着它们是独立的动作。但是从我的理解来看,如果一个动作的类型与完全不同的文件中的另一个动作的类型匹配,则意味着不同的reducer仍然会引起问题。

编辑:

如果我在应用程序中有两个部分。一个具有用于动作SET_SCROLL的减速器,另一部分具有该器。如果我通过触发SET_SCROLL更新第2节中的滚动位置。这将导致第1部分的状态发生变化。现在想象几百个动作,如何防止命名冲突?我了解在redux中,您无法将一组操作与某些化简器相关联。

1 个答案:

答案 0 :(得分:0)

是的,这就是为什么在定义动作类型时应该小心的原因。 "Reusing Reducer Logic" docs page给出了一些示例,说明了您想在多个位置重用给定的reducer时可能会遇到的问题,并给出了解决该问题的一些方法。

我们特别推荐defining action types as "domain/someAction"来避免冲突。

请注意,it's also possible (and recommended) to have many different parts of the reducer logic all independently respond to the same dispatched action