【问题标题】:How to add a number to an existing array in redux react如何在redux react中向现有数组添加数字
【发布时间】:2021-09-15 12:04:35
【问题描述】:

我要更新数组

初始状态

const initialState = { name:'a', arrNames:[1,2,3,4]}

减速器

const userRuducer = createReducer(initialState,(builder)=>{   
    
    builder.addCase('UPDATE_ARRAY',(state,action)=>{
        // how to add ' 12' in the arraay
    })
})

组件

 <Button onClick={() =>dispatch({type:'UPDATE_ARRAY',payload:12}) } variant='contained'>update Array</Button>

结果:-

arrNames:[1,2,3,4, 12]

【问题讨论】:

标签: reactjs react-redux redux-toolkit


【解决方案1】:

您正在使用 redux-toolkits,所以它基本上只是将新项目推送到对象:

builder.addCase("UPDATE_ARRAY", (state, action) => {
  state.arrNames.push(action.payload)
};

因为 immerjs 中已经包含 redux-toolkits

【讨论】:

    【解决方案2】:
    builder.addCase("UPDATE_ARRAY", (state, action) => {
      return {
        ...state,
        arrNames:[...state.arrNames,action.payload]
      };
    })
    

    这里的状态是不可变的,并且被认为是更好的做法

    【讨论】:

      猜你喜欢
      • 2017-04-16
      • 2017-10-28
      • 2020-11-14
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多