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
相关产品推荐
相关产品推荐

