前端 React useState 数组或对象改变后页面没有更新渲染解决

目录

一、问题参数原因

二、解决方案


一、问题参数原因

当数组或对象的原本地址没有发生改变时,页面不会检测到数据更新,下面是有问题的写法:

javascript 复制代码
 const [care, setCare] = useState<boolean[]>([])
 care[index] = true
 setCare(care)  //这种写法的源地址不会发生变化,导致页面不能检测到地址变化

二、解决方案

可以通过解构数组或对象的形式来更新数据地址:

javascript 复制代码
care[index] = true
setCare([...care])  //解构重构后地址刷新,页面渲染刷新,对象类型也类似

总结到此!

相关推荐
Arthur1472612286547几秒前
preventDefault、stopPropagation 、stopImmediatePropagation 区别
前端
badhope几秒前
一命速通蓝桥杯全攻略
开发语言·前端·人工智能·python·职场和发展·蓝桥杯·github
下北沢美食家1 分钟前
前端性能优化面试题
前端·性能优化
点正3 分钟前
详解TypeScript项目引用(Project References)中rootDir的坑:composite:true下为何不能指定rootDir
前端·next.js
向前跑丶加油4 分钟前
tailwindcss构建执行npm exec tailwindcss init -p 报错
前端·npm·node.js
gustt6 分钟前
手写 Mini React:深入理解 createElement 和 render 原理
前端·react.js
陈随易6 分钟前
向日葵+AI,远程操控又进化了
前端·后端·程序员
Han.miracle7 分钟前
万字详解 Lombok 构造方法注解:@AllArgsConstructor 非空校验实现与最佳实践
java·前端·数据库
Mintopia7 分钟前
现代 CSS 使用技巧(进阶篇):从布局到性能的实战方法
前端·css