gpt4 book ai didi

Redux 和在 reducer 中访问不同的 reducer ,如何?

转载 作者:行者123 更新时间:2023-12-04 01:41:27 36 4
gpt4 key购买 nike

所以,我有一个应用程序,它有多个 reducer ,因此有多个关联的 Action 创建者。

有一段时间,我的一个 reducer 更新了状态(由于编辑),因此,我必须确保其他 reducer 看到此更新并相应地调整它们的状态。

把它想象成一个用户选择“运动鞋”,这个状态管理在一个叫做 productsReducer 的 reducer 中。因此,当用户通过应用程序流程时,他们会获得与之相关联的couponsReducer……但用户可以随时“编辑”,所以如果他们随后编辑“运动鞋”并说,选择另一个制作人,我必须能够实时更改couponsReducer,因为进度模式需要反射(reflect)这一点。我可以通过进入优惠券页面的流程来做到这一点,因为在该页面上我只是协调 componentWillMount 上的数据......但问题是我有一个进度模式,在进入优惠券页面之前,用户可以打开进度模式......这里会有一个不匹配......

啰嗦我知道,我只是想说明一下我的情况。

所以,我希望能够从 productsReducer 中调用“其他 reducer ”或它们的 Action 创建者。

中间件在这里是否合适,我在其中嗅探某个“action.type”,如果我看到它,我可以调度其他 action.type,或者有没有办法从 productsReducer 中调用 Action 创建者?

importing: import * ascoupons from './couponsActions' 和我需要的任何其他操作似乎都不合适。

最佳答案

根据应用程序的状态更新状态是一种反模式。解决方案更简单:

如果一个 Action 影响多个 reducer ,请在关心的 reducer 中订阅该 Action 。

所以当用户选择 sneakers ,触发这些 Action

{ type: 'item_select', payload: 'sneakers' }

然后在 couponsReducer ,有这样的事情:
function (state = initialState, action) {
if (action.type == 'item_select') {
return { ...state, activeProduct: action.payload);}
}
return state;
}

您不希望级联更新,其中状态取决于其他状态的变化。您需要一个简单的调度架构,其中一个操作同时影响所有内容。

关于Redux 和在 reducer 中访问不同的 reducer ,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35851837/

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