![](/img/trans.png)
[英]How to update react redux state Object of id - key value pair
[英]How to update certain key values in an object nested in the redux state
我有以下數據:
Project : {id:10,
requirements: [{id:1,
title:test},
{id:2,
title:test2}]
}
和
action.payload : {id:1,
title:changed_title}
我希望在我的 redux 減速器中更新id:1
的 object 要求。
這是我到目前為止所擁有的,但它似乎沒有工作並且它超級混亂:
case 'requirements_update': return (updateObject(state, project: {...state.project , requirements: state.project.requirements.filter(requirement =>
{if(requirement.requirement_id === action.payload.requirement_id)
return(action.payload) }
})}))
您可以使用 map 和 id check 來更新項目
project : state.project.map(project => project.id === payload.id ? payload : project)
底部的雙重擴展是將當前需求屬性與動作負載合並,(動作負載屬性將具有優先級,因為它們將覆蓋現有的)
case 'requirements_update':
return {...state, state.project: {...state.project , requirements: state.project.requirements.map(requirement => {
if (requirement.id === action.payload.id) {
return {...requirement, ...action.payload}
} else {
return requirement
}
}}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.