我想用动作有效负载中的特定索引更新数组数组中对象的状态。我在减速器中有这种状态。
const INITIAL_STATE = {
tasks: {
taskArray: [
{
maintask: 'Main task 1',
subtask: [
{
photo_urls: [],
task_name: 'Task 1',
task_status: false
},
{
photo_urls: [],
task_name: 'Task 2',
task_status: false
}
]
},
{
maintask: 'Main task 2',
subtask: [
{
photo_urls: [],
task_name: 'Task 1',
task_status: false
},
{
photo_urls: [],
task_name: 'Task 2',
task_status: false
}
]
}
]
}
};
export default (state = INITIAL_STATE, action) => {
switch (action.type) {
case ON_CHECK_BOX_CLICK:
return state;
default:
return state;
}
};
我在action.payload中有一个子任务对象。首先,我想检查数组中对象的索引,然后我想更新object的particuler数组的状态。
答案 0 :(得分:1)
我建议您使用https://github.com/kolodny/immutability-helper作为有效负载,您可以发送update
函数的结果:
import update from 'immutability-helper';
update(currentState, {
tasks: {
tasksArray: {
0: {
subtask: {
1: {
task_name: { $set: 'New value for Task 2' }
}
}
}
}
}
});