Почему массив не определен в наборе инструментов State React Redux - PullRequest
2 голосов
/ 11 июля 2020

при попытке console.log части (массива), управляемого с помощью @ reduxjs / toolkit, он всегда либо undefined, либо прокси.

при использовании import { original } from "immer"; и console.log(original(state.theArrayImTryingToLog)); я просто получаю: undefined .

при использовании console.log(state.theArrayImTryingToLog); я получаю: 0: Proxy [[Handler]]: null [[Target]]: null [[IsRevoked]]: true length: 1 Это записывается, когда массив изначально определен как пустой массив или даже когда я устанавливаю в нем фиктивный объект.

Я читал в других сообщениях, что это может быть проблема с Immer, но поскольку я всегда получаю undefined / proxy, я подозреваю, что это может быть что-то еще.

Также, когда console.log(JSON.stringify(state.theArrayImTryingToLog)); я получаю правильный массив со всеми его элементами.

import { createSlice } from "@reduxjs/toolkit";
import { getProducts } from "../api/product.api";
import { original } from "immer";

const productsSlice = createSlice({
  name: "products",
  initialState: {
    products_in_cart: [],

  },
  reducers: {
       add_to_cart: (state, action) => {
      console.log(state.products_in_cart); -> proxy as above
      console.log(original(state.products_in_cart)); -> undefined
      console.log(JSON.stringify(state.products_in_cart)); -> correct array as string
    },
  },
});
...