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

Redux中能否通过action传入参数动态修改state对应属性值?

Redux动态修改指定state属性实现方法

你可以直接使用ES6对象字面量的计算属性名语法实现需求,不需要为每一行单独编写处理逻辑。

正确实现代码

case 'CHANGE_STATE': {
  return {
    ...state,
    [action.row]: action.payload
  }
}

实现说明

  • 语法规则:在对象字面量中,用方括号[]包裹动态值,JS会先计算方括号内表达式的返回值,将其作为对象的属性键名
  • 逻辑等价效果:如果触发action时传入的action.row值为row5,上述代码最终和硬编码写...state, row5: action.payload的逻辑完全一致,符合Redux不可变更新的规范要求
  • 使用注意:传入的action.row需要是合法的对象键类型(字符串、数字、Symbol都可),通常传对应行的标识字符串即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 21:36:15