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

目录

一、问题参数原因

二、解决方案


一、问题参数原因

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

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

二、解决方案

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

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

总结到此!

相关推荐
前端小怪兽zmy16 小时前
Vue3实现纯前端语音输入成文字显示
前端·javascript·elementui
ohyeah16 小时前
原子化 CSS 与 Fragment:现代前端开发的高效实践
前端
鱼鱼块16 小时前
告别重复传参!用柯里化提升代码优雅度
前端·javascript·面试
chilavert31816 小时前
技术演进中的开发沉思-274 AJax :Button
前端·javascript·ajax·交互
Robet16 小时前
static 和 lib/assets资源区别
前端·svelte
名字被你们想完了16 小时前
Flutter 实现一个容器内部元素可平移、缩放和旋转等功能(九)
前端·flutter
千寻girling16 小时前
面试官: “ 说一下你对 Cookie 的理解 ? ”
前端·后端
RedHeartWWW16 小时前
nextjs中,关于Layout组件和Page组件的认知
前端·react.js
大明二代16 小时前
基于 Microsoft Graph API 与 React Email 构建现代化邮件发送系统
前端·react.js·microsoft
sujiu16 小时前
eslint匹配规则速通
前端