Почему в этой ситуации Arrays.find() возвращает неопределенное значение?
Я следую учебнику по Python/Django, а фронтенд-часть выполнена с помощью React.
Я достиг точки, где мы создаем редукторы и действия и используем Redux, но при создании корзины я зашел в тупик
Вот мой редуктор:
import { CART_ADD_ITEM } from "../constants/cartConstants";
export const cartReducer = (state = { cartItems: [] }, action) => {
switch (action.type) {
case CART_ADD_ITEM:
const item = action.payload;
const existItem = state.cartItems.find((x) => {return x.product === item.product});
if (existItem) {
return {
...state,
cartItems: state.cartItems.map((x) =>
x.product === existItem.product ? item : x
),
};
} else {
return {
...state,
cartItems: [...state.cartItems, item],
};
}
default:
return state;
}
};
Переменная 'existItem' выдается как неопределенная, а я ожидаю булево значение.
Во-первых, 'existItem' раньше выглядел следующим образом
const existItem = state.cartItems.find((x) => x.product === item.product);
Я прочитал здесь о том, как решить эту проблему, но, похоже, это ничего не изменило.
Когда existItem не определен, я не могу продолжать добавлять товары в корзину и не могу динамически изменять их количество.
Где я ошибаюсь?