при попытке 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
},
},
});