我在 reducer 中的状态如下所示:
此状态处理当前用户的选择。
const selection = {
timespan: "-3660",
customTimespan: false,
pathIds: [''],
source: undefined,
direction: 0,
appClassIds: []
};
我在另一个 reducer 中有另一个状态,它有一个项目 appClasses 列表,用户可以在树上打开或关闭这些项目。
状态是appClasses。
问题是,当用户选择某些内容时,我会更新 appClasses 状态,但我还必须根据 appClasses 的新状态更新 Selection.appClassIds。
我的问题是如何根据另一个 reducer 的状态更新 reducer 的状态?或者我是否必须将这些状态合并为一个状态?
类似于:
const initialState = {
appClasses = [],
selection: {
timespan: "-3660",
customTimespan: false,
pathIds: [''],
source: undefined,
direction: 0,
appClassIds: []
}
};
最佳答案
你可以这样做:
function a(state, action) { }
function b(state, action, a) { } // depends on a's state
function something(state = {}, action) {
let a = a(state.a, action);
let b = b(state.b, action, a); // note: b depends on a for computation
return { a, b };
}
干杯:)
关于javascript - 根据另一个 reducer 的状态更新一个 reducer 的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41880082/