在redux中将操作从顶部减速器传递到深层祖先的替代方法

在redux中将操作从顶部减速器传递到深层祖先的替代方法,redux,Redux,如果我有一个大的状态,更确切地说是很深的状态,那是否意味着我必须从顶部一路将操作传递给儿童还原者?因为似乎所有的行动都是全球性的 让我解释一下。假设我有一个10个减速机深的结构。然后最深的减速机有一个动作“ADD_which”。这是否意味着在其他9个减速器中,我必须处理并将动作传递给子减速器?9次 有没有其他办法 我的意思是,除了避免拥有10层的深层结构,这只是一个极端的例子。我觉得我在这里理解不正确。我希望有另一种方法 就像在deep子对象中定义动作,然后让redux计算出需要重新创建所有父对

如果我有一个大的状态,更确切地说是很深的状态,那是否意味着我必须从顶部一路将操作传递给儿童还原者?因为似乎所有的行动都是全球性的

让我解释一下。假设我有一个10个减速机深的结构。然后最深的减速机有一个动作“ADD_which”。这是否意味着在其他9个减速器中,我必须处理并将动作传递给子减速器?9次

有没有其他办法

我的意思是,除了避免拥有10层的深层结构,这只是一个极端的例子。我觉得我在这里理解不正确。我希望有另一种方法


就像在deep子对象中定义动作,然后让redux计算出需要重新创建所有父对象,因为它发生了变化。

您可以使用
combinereducer
来分离reducer。但这并不能真正处理深层结构

你的问题其实是关于你的设计。深层结构更难维护和推理。你不应该依赖它们,总有一种更好的方法来构造你的对象模型,使其不深入

甚至有插件喜欢在API返回时帮助最不需要的深层结构


我建议您考虑对结构进行重构。

您可以使用组合减速机来分离减速机。但这并不能真正处理深层结构

你的问题其实是关于你的设计。深层结构更难维护和推理。你不应该依赖它们,总有一种更好的方法来构造你的对象模型,使其不深入

甚至有插件喜欢在API返回时帮助最不需要的深层结构


我建议您考虑对您的结构进行重构。

是的,我很害怕。我真的没有这个问题,但是评估redux,我想清楚地理解这一点。这个例子是故意的极端。虽然这可能是一个问题,不是10个级别,但足以让它需要大量的样板文件。如果你最终得到了一个深度嵌套的数据结构,那么你就有了一个设计问题。我在某种程度上同意,但同时我觉得像normalizer这样的工具的创建暗示着这里存在“weekness”。理想情况下,我希望操作只由响应它的reducer拾取,并且所有reducer都需要实现“CHILD_HAS_MUTATED”操作,以便任何父reducer都将重新运行该操作并对任何父对象结构进行变异,以确保子对象的所有父对象也发生变异。这至少是我最初的想法…是的,我很害怕。我真的没有这个问题,但是评估redux,我想清楚地理解这一点。这个例子是故意的极端。虽然这可能是一个问题,不是10个级别,但足以让它需要大量的样板文件。如果你最终得到了一个深度嵌套的数据结构,那么你就有了一个设计问题。我在某种程度上同意,但同时我觉得像normalizer这样的工具的创建暗示着这里存在“weekness”。理想情况下,我希望操作只由响应它的reducer拾取,并且所有reducer都需要实现“CHILD_HAS_MUTATED”操作,以便任何父reducer都将重新运行该操作并对任何父对象结构进行变异,以确保子对象的所有父对象也发生变异。这至少是我最初的想法。。。