У меня есть действие с именем ADD_USER_PICTURE
, которое при каждом вызове я просто добавляю в массив новую картинку.
Но есть небольшая хитрость, эти объекты изображения, которые я добавляю, имеют некоторое логическое свойство, которое сообщает, какое изображение является Enabled
аватаром для профиля. Это означает, что мне нужно изменить последний текущий picture.isEnabled
с true
на false
, чтобы новым был аватар.
Это мое действие:
case ADD_USER_PICTURE:
return {
...state,
userInfo: {
...state.userInfo,
userPictures: [...state.userInfo.userPictures, action.picture]
}
}
Полагаю, мне нужно добавить карту и выполнить итерацию, но с помощью userPictures, как это, но я не уверен, как это сделать с Redux и из-за неизменности.
Я думаю о чем-то вроде этого:
userPictures.map((picture) => {
if (picture.isAvatar) {
picture.isEnabled = false;
}
});
Было бы намного быстрее поставить все в ложь, и все вместо поиска. Я не хочу создавать второе действие только для этого.
Любая помощь о том, как адаптировать это к Redux?
Спасибо.