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

目录

一、问题参数原因

二、解决方案


一、问题参数原因

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

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

二、解决方案

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

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

总结到此!

相关推荐
拾年2753 分钟前
深入理解 V8 引擎:从代码执行到垃圾回收的完整链路
前端·javascript·v8
Master_Azur7 分钟前
javaScript进阶
前端
markfeng88 分钟前
React入门教学
前端·react.js
ze_juejin8 分钟前
Object.defineProperty vs Proxy 对比总结
前端
wing9817 分钟前
我的AI编程体验:从白嫖到付费,我为什么最终留下了Codex
前端·人工智能·程序员
京东云开发者27 分钟前
京东Taro Native框架静态布局直渲提速
前端
程序员小羊!28 分钟前
03JavaScript预备知识
前端
前端的阶梯28 分钟前
Cursor 开发 Python 项目完全指南
前端·人工智能·后端
半兽先生29 分钟前
flv.js解决其中一个监控断线导致其他的监控播放阻塞
开发语言·javascript·ecmascript
艾伦野鸽ggg36 分钟前
JavaScript 基础语法速通
前端·javascript