Reactjs 重复嵌套状态
我读过很多文章和例子,但是我没有找到一种方法来简化嵌套状态。这是否可以在不使用rest运算符的情况下通过属性(如下面的部分代码)对状态进行udpateReactjs 重复嵌套状态,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我读过很多文章和例子,但是我没有找到一种方法来简化嵌套状态。这是否可以在不使用rest运算符的情况下通过属性(如下面的部分代码)对状态进行udpate const initialState = { currentTag: 'fr-FR', locales: { components: [], }, }; const setComponentsLocales = (state, payload) => ({ ...state, [payload.oid]: p
const initialState = {
currentTag: 'fr-FR',
locales: {
components: [],
},
};
const setComponentsLocales = (state, payload) => ({
...state,
[payload.oid]: payload.locales,
});
const localesReducer = (state, action) => {
switch (action.type) {
case types.SET_COMPONENT_LOCALES:
return {
...state,
components: setComponentsLocales(state.components, action.payload),
};
default:
return state;
}
};
export default (state = initialState, action) => {
switch (action.type) {
case types.SET_LANGUAGE:
return {
...state,
currentTag: action.payload.tag,
};
default:
return {
...state,
locales: localesReducer(state.locales, action),
};
}
};
如果你不喜欢扩展运算符,你可以使用
对象。assign
方法这是一样的:)我不想使用对象。assign
在每个属性上你需要使用不变性,所以你没有很多选择,扩展运算符
,对象。assign
或类似的库