[英]Unhandled Runtime Error TypeError: Invalid attempt to spread non-iterable instance
I am getting this error when i try add-to-cart.当我尝试添加到购物车时出现此错误。
Unhandled Runtime Error.
TypeError: Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.
import { createSlice, createAsyncThunk } from '@reduxjs/toolkit';
import { baseURL } from '../../api/config/config';
import axios from 'axios';
export const getCartItemsLocalStorage = createAsyncThunk(
"cartitems/getCartItems",
async (val, thunkAPI) => {
let cartItemFromLocalStoarge = await JSON.parse(localStorage.getItem("cart"));
return cartItemFromLocalStoarge;
}
)
export const CartSlice = createSlice({
name: 'cart',
initialState: {
products: [],
cart: [],
},
reducers: {
addToCart: (state, action) => {
let actionId = action.payload;
const item = state.products.find((prod) => prod.id === actionId)
// Check if item already exist in cart
const inCart = state.cart !== null ? state.cart.find((item) => item.id === actionId ? true : false) : null;
state.cart = inCart
? state.cart.map(item =>
item.id === actionId
? { ...item, quantity: item.quantity + 1 }
: item
)
: [...state.cart, {...item, quantity: 1 }]
localStorage.setItem("cart", JSON.stringify(state.cart))
},
});
}
export const { addToCart } = CartSlice.actions;
export default CartSlice.reducer;
you try to spread state.cart
when it is null
当它是
null
时,您尝试传播state.cart
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.