首页 > 解决方案 > 我获取了一个数组并想将其添加到我的状态中

问题描述

我获取了一组对象,但无法将它们添加(或替换)到状态。

const searchSlice = createSlice({
  name: 'search',
  initialState: [],
  reducers: {
  getResults(state, action) {
     state = action.payload;
    },
   },
  });

我尝试了“state.push(action.payload)”,但结果是一个嵌套数组。“action.payload”是正确的回应。

标签: reactjsredux

解决方案


由于将其推入状态会创建一个嵌套数组,

要更换,请尝试

const searchSlice = createSlice({
  name: 'search',
  initialState: [],
  reducers: {
  getResults(state, action) {
     return [...action.payload]; 
    },
   },
  });

要添加,请尝试

const searchSlice = createSlice({
  name: 'search',
  initialState: [],
  reducers: {
  getResults(state, action) {
     return [...state, ...action.payload];
    },
   },
  });

推荐阅读