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

目录

一、问题参数原因

二、解决方案


一、问题参数原因

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

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

二、解决方案

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

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

总结到此!

相关推荐
m0_4711996313 分钟前
【JavaScript】Set 和 Map 核心区别与实战用法(ES6 集合全解析)
前端·javascript·es6
hoiii18736 分钟前
MATLAB中主成分分析(PCA)与相关性分析的实现
前端·人工智能·matlab
小白|37 分钟前
【OpenHarmony × Flutter】混合开发性能攻坚:如何将内存占用降低 40%?Flutter 引擎复用 + ArkTS 资源回收实战指南
开发语言·javascript·flutter
大波V51 小时前
用 nvm 彻底重装 Node 12.22.12(确保干净)
前端
和和和1 小时前
React Scheduler为何采用MessageChannel调度?
前端·javascript
Ric9701 小时前
Mac上Git不识别文件名大小写修改?一招搞定!
前端
momo061171 小时前
用一篇文章带你手写Vue中的reactive响应式
javascript·vue.js
他是龙5511 小时前
第29天:安全开发-JS应用&DOM树&加密编码库&断点调试&逆向分析&元素属性操作
开发语言·javascript·安全
和和和1 小时前
前端应该知道的浏览器知识
前端·javascript
狗哥哥1 小时前
前端基础数据中心:从混乱到统一的架构演进
前端·vue.js·架构