[react] useState的一些小细节

1.无限循环

因为setState修改是异步的,加上会触发函数重新渲染, 如果代码长这样

一秒再修改,然后重新触发setTImeout, 然后再触发,重复触发循环


如果这样呢

还是会,因为你执行又会重新渲染

2.异步修改数据

为什么修改多次还是跟不上呢?

函数传参解决

因为是异步修改 ,所以会出现问题,怎么办?用传函数的形式解决

Component -- React 中文文档

改成这种形式

用回调的方式返回上一个state的值,这样就可以解决了,当然可以简洁些

怎么拿最新结果

但是最后那个打印还是拿不到最新的结果咋办?

可以用临时变量解决

也可以套多一层函数形式

小细节

这里数据加了几次,但是只渲染一次,把你要更新的请求合并到一起处理

3.缓存功能

代码如下

每次点击x,y都会加1,但是

为什么?因为每次组件重新渲染let y都会重新赋值!!setState有缓存不会重新赋值

相关推荐
程序员鱼皮17 小时前
又被 Cursor 烧了 1 万块,我麻了。。。
前端·后端·ai·程序员·大模型·编程
孟祥_成都17 小时前
nextjs 16 基础完全指南!(一) - 初步安装
前端·next.js
程序员爱钓鱼17 小时前
使用简单 JSON + 自定义 t 函数实现轻量多语言国际化(无需 next-intl)
前端·javascript·trae
一 乐17 小时前
助农平台|基于SprinBoot+vue的助农服务系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·ecmascript·springboot
vivo互联网技术17 小时前
浅谈 AI 搜索前端打字机效果的实现方案演进
前端·vue·dom
●VON17 小时前
Electron 小游戏实战:太空打砖块(Space Breakout)
前端·javascript·electron
新晨43717 小时前
Vue 3 定时器清理的最佳实践
javascript·vue.js
重铸码农荣光17 小时前
深入理解 JavaScript 原型机制:从“如何拿到小米 SU7”说起
前端·javascript
Zyx200717 小时前
深入 JavaScript 事件机制:从冒泡到事件委托的高效实践
javascript
乐观的用户17 小时前
搞懂虚拟列表实现原理与步骤
前端·vue.js