为什么在状态React Redux工具箱中未定义数组

时间:2020-07-11 17:59:09

标签: reactjs react-redux redux-toolkit immer.js

当尝试使用@ 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
    },
  },
});

0 个答案:

没有答案