Я пытаюсь добавить объект в массив, который вложен в объект.Ниже приведена моя структура
{
id:'1',
name:'test',
contents:[
{fruit:'banana'}
{fruit:'apple'}
]
}
Теперь я просто пытаюсь обновить содержимое с помощью {fruit:'pear'}
.Я использую реактор-редукционный котел пластина.И у меня возникла проблема при попытке обновить содержимое.Вот что я попробовал:
const initialState = fromJS({
data: {
content: []
}
});
function projectReducer(state = initialState, action) {
switch (action.type) {
case LOAD_DATA:
return state
.set('loading', true)
.set('error', false)
.setIn(['data', 'contents'], false);
case LOAD_DATA_SUCCESS:
return state
.setIn(['data', 'contents'], action.data)
.set('loading', false);
case ADD_CONTENT:
return state
.set('loading', true)
.set('error', false)
// return return update(state[state.set(['data'],data)
case ADD_CONTENT_SUCCESS:
console.log('addContentSuccess');
return state
.updateIn(['data','contents'],list=>list.push({fruit:'pear'})) //<<<<<THis is failing
.set('loading', false)
.set('error', false)
break;
default:
return state;
}
}
Я получаю ошибку как push is not a function
, которая является правильной, поскольку список - это весь объект, а не list.contents.
Любое предложение или помощьили обходной путь очень ценится!Заранее спасибо!