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

React中对象数组类型状态变量perms无法更新的问题求助

React中对象数组类型状态变量perms无法更新的问题求助

大家好,我最近在React项目里碰到个状态更新的小麻烦,想请各位大佬帮忙看看~

我定义了一个叫perms的状态变量,它是一个对象数组,每个对象的结构如下:

{
  catg: 'Catg1',
  serv: [ // 由serv对象组成的数组
    {
      checked: false,
      desc: 'Serv 1'
    }
  ]
}

我的需求很明确:点击按钮时,根据传入的catg值,把对应分类下所有serv对象的checked属性都设置为true。可是我写了代码后,发现状态根本没更新,目前我的代码框架是这样的:

const [perms, setPerms] = useState(/* 初始化的perms数组数据 */);

// 按钮点击的事件处理函数
const handleCheckAll = (targetCatg) => {
  // 这里是我尝试写的更新逻辑,但没生效...
};

我猜测可能是嵌套对象数组的更新方式不对,没有创建新的引用导致React没检测到状态变化?有没有朋友能帮我分析下问题,或者给出正确的状态更新写法呀?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 13:28:03