Почему в этой ситуации 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 не определен, я не могу продолжать добавлять товары в корзину и не могу динамически изменять их количество.

Где я ошибаюсь?

Вернуться на верх