You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Redux中如何向state的现有数组添加新数值?

实现方案

你当前使用的是Redux Toolkit的createReducer API,内部默认集成了Immer库,支持直接修改状态的写法,会自动转换成符合Immutable规范的更新,可选两种实现方式:

  • 方案1:直接修改状态(推荐写法,代码更简洁)
    在UPDATE_ARRAY对应的回调中直接调用数组的push方法即可:
const userRuducer = createReducer(initialState,(builder)=>{   
    builder.addCase('UPDATE_ARRAY',(state,action)=>{
        state.arrNames.push(action.payload)
    })
})
  • 方案2:返回全新状态对象(兼容传统Redux的不可变更新写法)
    手动展开原有数组拼接新值,返回完整的新state对象:
const userRuducer = createReducer(initialState,(builder)=>{   
    builder.addCase('UPDATE_ARRAY',(state,action)=>{
        return {
            ...state,
            arrNames: [...state.arrNames, action.payload]
        }
    })
})

补充注意:你当前代码中的reducer命名存在拼写错误,userRuducer 建议修正为 userReducer,避免后续调用时报错。

内容的提问来源于stack exchange,提问作者asif kaif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 18:27:03