[react] useState的一些小细节

1.无限循环

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

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


如果这样呢

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

2.异步修改数据

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

函数传参解决

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

Component – React 中文文档

改成这种形式

 

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

怎么拿最新结果 

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

可以用临时变量解决

 也可以套多一层函数形式

小细节

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

 

3.缓存功能

代码如下

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

 

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

 

相关推荐

  1. 一些深度语音预处理细节

    2024-04-10 15:42:05       59 阅读
  2. 【经验】STM32一些细节

    2024-04-10 15:42:05       47 阅读
  3. 二分查找中细节

    2024-04-10 15:42:05       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 15:42:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 15:42:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 15:42:05       82 阅读
  4. Python语言-面向对象

    2024-04-10 15:42:05       91 阅读

热门阅读

  1. 安装 FFmpeg

    2024-04-10 15:42:05       39 阅读
  2. this::onCheckedChanged

    2024-04-10 15:42:05       30 阅读
  3. spring test配合junit4 实现单元测试

    2024-04-10 15:42:05       30 阅读
  4. 【springboot】项目启动时打印全部接口方法

    2024-04-10 15:42:05       36 阅读
  5. SAP-QM-UD自动完成

    2024-04-10 15:42:05       34 阅读
  6. docker基于alpine制作arm架构下的jdk8的镜像

    2024-04-10 15:42:05       33 阅读
  7. mysql 8.0 常用函数大全总结,并列出实例

    2024-04-10 15:42:05       35 阅读
  8. Vue数据修改异步渲染原理分析

    2024-04-10 15:42:05       26 阅读
  9. 正则表达式

    2024-04-10 15:42:05       34 阅读
  10. redis的过期策略和内存淘汰机制(redis篇)

    2024-04-10 15:42:05       38 阅读
  11. LeetCode-45. 跳跃游戏 II【贪心 数组 动态规划】

    2024-04-10 15:42:05       36 阅读