如何在Redux中返回对象?

44u64gxh  于 2022-11-24  发布在  其他
关注(0)|答案(2)|浏览(84)

我有一个按钮,当点击时,发送一个对象[ Dispatch(ADDS(myObject)],但我的[ Reducer ]没有返回对象作为第一个(索引0),它返回第一个项目(空),因为(InitialState)它被设置为(空)。我如何返回对象作为(索引0)?

控制台日志

console.log - Prinscreen

我的UI.js

import { createSlice } from '@reduxjs/toolkit';

export const slice = createSlice({
    name: 'initial',
    
    initialState : {
        product: [],
    },
    
    reducers: {
        ADDS(state, actions) {
            return {
                ...state, 
                product: actions.payload,
            } 
        }
    }
});

export const { ADDS } = slice.actions;

export default slice.reducer;

谢谢

y3bcpkx1

y3bcpkx11#

在这里像这样破坏你的减速器响应product: [...state.product, actions.payload]

import { createSlice } from '@reduxjs/toolkit';

export const slice = createSlice({
    name: 'initial',
    
    initialState : {
        product: [],
    },
    
    reducers: {
        ADDS(state, actions) {
            return{
              ...state,
              product: [...state.product, actions.payload]
            }
        }
    }
});

export const { ADDS } = slice.actions;

export default slice.reducer;
mqxuamgl

mqxuamgl2#

您当前正在使用减径管中的对象替换阵列。
不太清楚您要在这里实现什么,您只是想将每个新调度的对象添加到数组中吗?
如果是这样的话你需要这样的东西

product: state.push(actions.payload),

相关问题