[英]Destructuring Actions in Nested Redux Reducer
我正在調度一個看起來像這樣的動作:
{ type: "TOGGLE_FARA", fara: true, id: "5d20d019cf42731c8f706db1" }
“ id”僅用於識別正確的用戶。 該操作旨在修改我的“ fara”狀態的“ enabled”屬性。 我的商店的fara部分如下所示:
{
fara: {
enabled: false, // This need to be flipped...
names: []
},
senators: {
enabled: false,
names: []
},
senateCandidates: {
enabled: false,
names: []
}
}
但是,我不確定如何構造減速器。 我只想更改“已啟用”屬性。 我嘗試了幾種不同的方法:
export default (state = DEFAULT_STATE, action) => {
switch (action.type) {
case "INITIALIZE_SETTINGS":
return {
fara: action.fara,
senators: action.senators,
senateCandidates: action.senateCandidates,
emails: action.emails
}
case "TOGGLE_FARA":
return {
...state,
// fara['enabled']: action.fara <–– This won't compile...
// 'fara.enabled' : action.fara <–––This just gives me a key name with the string 'fara.enabled'
}
default:
return state;
}
我本來打算做這樣的事情,但這會直接修改您不應該做的狀態(我的redux工具擴展說狀態是相同的,這是不理想的)。 有什么想法嗎?
export default (state = DEFAULT_STATE, action) => {
switch (action.type) {
case "INITIALIZE_SETTINGS":
return {
fara: action.fara,
senators: action.senators,
senateCandidates: action.senateCandidates,
emails: action.emails
}
case "TOGGLE_FARA":
state.fara.enabled = action.fara;
return {
...state
};
default:
return state;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.