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

目录

一、问题参数原因

二、解决方案


一、问题参数原因

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

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

二、解决方案

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

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

总结到此!

相关推荐
鱼锦0.028 分钟前
在vue2中主页面怎么给子页面传递数据
前端·javascript·html
!win !4 小时前
前端跨标签页通信方案(下)
前端·javascript
f***45324 小时前
基于SpringBoot和PostGIS的各省与地级市空间距离分析
android·前端·后端
编码追梦人4 小时前
从 “手忙脚乱“ 到 “行云流水“:华为云 DevUI 与 MateChat 如何让前端开发飞起来
前端·华为云
用户47949283569155 小时前
TypeScript 简史:它是怎么拯救我的烂代码的
javascript·typescript
S***H2835 小时前
前端动画实现经验,性能优化与兼容性
前端
用户47949283569155 小时前
只有前端 Leader 才会告诉你:那些年踩过的模块加载失败的坑(二)
javascript
xw55 小时前
前端跨标签页通信方案(下)
前端·javascript
zzlyx996 小时前
IoTSharp前端VUE采用npm run build编译提示require() of ES Module 出错
前端·vue.js·npm
全栈技术负责人6 小时前
拒绝“无法复现”:前端全链路日志排查实战手册
前端·全链路·问题排查思路