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

目录

一、问题参数原因

二、解决方案


一、问题参数原因

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

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

二、解决方案

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

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

总结到此!

相关推荐
小蜜蜂dry28 分钟前
nestjs实战-权限二:角色模块
前端·后端·nestjs
rm10929 分钟前
【js逆向】webpack自吐算法记录
javascript
AskHarries29 分钟前
权限模型:Shell、Browser、文件读写的安全边界
服务器·前端·网络
小蜜蜂dry30 分钟前
nestjs实战-权限一: 菜单模块
前端·后端·nestjs
用户58124415415732 分钟前
GemDesign MCP协议详解:从原型到代码的完整技术链路
前端
半个烧饼不加肉1 小时前
JS 底层探究-- 事件循环
开发语言·前端·javascript
goDeep1 小时前
useMemo 和 useCallback 的区别,我终于搞懂了
前端
小亮学前端1 小时前
在1Panel中部署Nuxt项目
前端·vue.js
产品研究员1 小时前
AI生成可用的React交互代码实测:Lovable vs Stitch vs Paico
前端·react.js·aigc
labixiong1 小时前
Prompt 工程:当一段文字学会了思考、行动与统治
前端·ai编程