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

目录

一、问题参数原因

二、解决方案


一、问题参数原因

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

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

二、解决方案

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

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

总结到此!

相关推荐
萌狼蓝天4 分钟前
[Vue2]项目中 vue-draggable-resizable 列宽拖动问题修复(首次拖动列宽突然变得很小)
前端·javascript·vue.js·前端框架·ecmascript
带带弟弟学爬虫__15 分钟前
ks安卓—did注册
前端·javascript·vue.js·python·网络爬虫
sztian6817 分钟前
JavaScript-----本地存储、数组中map方法、数组中join方法
开发语言·javascript·ecmascript
维维酱20 分钟前
使用 TRAE SOLO: 搭建前端项目脚手架
前端
南山安33 分钟前
JS 进阶:手写 instanceof 与JS继承全面讲解
javascript·面试·编程语言
恋猫de小郭33 分钟前
Android Studio Otter 2 Feature 发布,最值得更新的 Android Studio
android·前端·flutter
小旭@1 小时前
vue3官方文档巩固
前端·javascript·vue.js
努力往上爬de蜗牛1 小时前
electron 打包
前端·javascript·electron
美自坚韧1 小时前
qiankun微前端
前端·vue.js