Есть начальное состояние:
const initialState = {
products: [
{ id: 5 },
{ id: 7 }
]
}
И при возникновении экшина удаления продукта с id:7 из корзины, необходимо удалить свойство из состояния.
Ниже пример решения, но насколько оно иммутабельно?
function (state = initialState, action) {
case REMOVE_PRODUCT_CART:
return {
...state,
products: state.products.filter(item => item.id !== action.payload)
}
}
А так же просветите меня, в редьюсерах по соглашению (архитектуре flux) может быть только одна чистая функция, которая возвращается по умолчанию, или можно плодить там (естественно самое необходимое) функции, к примеру для переиспользование добавить функцию, которая приведена в
документации reduxfunction removeItem(array, action) {
return array.filter( (item, index) => index !== action.index);
}