当尝试使用@ reduxjs / toolkit控制台记录一个(数组)一块时,它始终是未定义的或代理的。
使用import { original } from "immer";
和console.log(original(state.theArrayImTryingToLog));
时
我只是得到:未定义。
使用console.log(state.theArrayImTryingToLog);
时
我得到:
0:代理
[[Handler]]:null
[[目标]]:null
[[已撤销]]:是
长度:1
当该数组最初定义为空数组时,甚至当我在其中设置虚拟对象时,都会记录此错误。
我在其他帖子中读到这可能是一个Immer问题,但是由于我总是得到未定义的/代理,所以我怀疑这可能是其他问题了。
同样,当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
},
},
});