简体   繁体   English

未处理的运行时错误类型错误:传播不可迭代实例的无效尝试

[英]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.

相关问题 未处理的拒绝(TypeError):散布不可迭代实例的无效尝试 - Unhandled Rejection (TypeError): Invalid attempt to spread non-iterable instance React + Redux:未处理的拒绝(TypeError):散布不可迭代实例的无效尝试 - React + Redux: Unhandled Rejection (TypeError): Invalid attempt to spread non-iterable instance 未处理的拒绝(TypeError):传播不可迭代实例的尝试无效我该如何解决 - Unhandled Rejection (TypeError): Invalid attempt to spread non-iterable instance how can I fix 我的应用程序运行良好,但现在显示错误 [Unhandled promise 拒绝:TypeError:传播不可迭代实例的无效尝试 - my app was working good but now shows the error [Unhandled promise rejection: TypeError: Invalid attempt to spread non-iterable instance React Uncaught TypeError:传播不可迭代实例的无效尝试 - React Uncaught TypeError: Invalid attempt to spread non-iterable instance 类型错误:传播不可迭代实例和合成事件的尝试无效 - TypeError: Invalid attempt to spread non-iterable instance and Synthetic Events TypeError:传播不可迭代实例的无效尝试 - TypeError: Invalid attempt to spread non-iterable instance 未处理的拒绝(TypeError):破坏非迭代实例的无效尝试 - Unhandled Rejection (TypeError): Invalid attempt to destructure non-iterable instance 传播不可迭代实例的尝试无效 - Invalid attempt to spread non-iterable instance 将项目添加到 Reducer 中的空数组中会给出错误“类型错误:传播不可迭代实例的尝试无效”。 - Add Items into Empty array in Reducer give Error 'TypeError: Invalid attempt to spread non-iterable instance.'
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM