【发布时间】:2019-03-16 13:47:24
【问题描述】:
我使用 react redux(带有 immer)在初始化后存储我的应用程序的选项和样式。如何更改更新功能以更新应用的特定样式/选项,而不更改其他选项/样式?
// reducer.js
export const common = produce((draft, action) => {
if (!draft) {
return {
settings: {},
};
}
switch (action.type) {
case STORE_WIDGET_SETTINGS:
draft.settings = action.payload.settings;
return;
case UPDATE_WIDGET_SETTINGS:
draft.settings = action.payload.settings;
return;
default:
return;
}
});
更新函数应该只更新选项/样式状态而不改变当前选项/样式。
示例: 更新前的设置:
options: {
selector: '#root'
},
styles: {
mainContainer: {
backgroundColor: 'black',
color: 'white',
}
}
用option:{selector: '#container'} 调用更新函数。
设置应更改为:
options: {
selector: '#container'
},
styles: {
mainContainer: {
backgroundColor: 'black',
color: 'white',
}
}
【问题讨论】:
标签: reactjs react-redux immer.js