产生问题: 在React的函数组件中使用useState进行数据存储,导致数据异步,不能及时获取当前最新的数据。
原因: 这是因为React里事件分为合成事件和原生事件,合成事件和钩子函数都是异步的,原生事件是同步的。因为useState是异步事件,所以会出现不能及时获取到最新值的情况。
解决方法: 先使用useRef进行存储数据,再使用useEffect监听数据变化,并进行更新。

const [info, setInfo] = useState();const infoRef = useRef();useEffect(() => {infoRef.current = info;}, [info]);

在之后需要使用info数据的地方只需要获取infoRef.current即可获得最新的info数据内容。

React中使用useState数据异步问题解决方法相关推荐

  1. React学习(6)-React中组件的数据-state

    前言 组件中的state具体是什么?怎么更改state的数据? setState函数分别接收对象以及函数有什么区别? 如何划分组件的状态数据,进行自我的灵魂拷问,以及props与state的灵魂对比 ...

  2. React学习(六)-React中组件的数据-state

    虽互不曾谋面,但希望能和你成为笔尖下的朋友 以读书,技术,生活为主,偶尔撒点鸡汤 不作,不敷衍,意在真诚吐露,用心分享 点击左上方,可关注本刊 撰文 | 川川 ID:suibichuanji 点击下方 ...

  3. memcpy(cv::Mat.data,unsigned char *,320x240),保存数据失真问题解决方法

    1.memcpy(unsigned char *C,cv::Mat.data A,,320x240),首先A是图像完整的,通过copy到C中的时候,再copy到新的cv::Mat 图像的对象上时,图像 ...

  4. Python之pandas:pandas中常见的数据类型转换四大方法以及遇到的一些坑之详细攻略

    Python之pandas:pandas中常见的数据类型转换四大方法以及遇到的一些坑之详细攻略 目录 pandas中常见的数据类型转换方法 T1.读取时直接转换数据类型 T2.采用astype

  5. react中绑定点击事件_在React中绑定事件处理程序的最佳方法

    react中绑定点击事件 by Charlee Li 通过李李 在React中绑定事件处理程序的最佳方法 (The best way to bind event handlers in React) ...

  6. sqoop导入数据常见问题解决方法

    sqoop导入数据常见问题解决方法 参考文章: (1)sqoop导入数据常见问题解决方法 (2)https://www.cnblogs.com/chaojibaidu/p/11071132.html ...

  7. Unity(游戏)中五种数据存储的方法

    Unity(游戏)中五种数据存储的方法 一.PlayerPrefs unity3d提供了一个用于本地持久化保存与读取的类-------PlayerPrefs.工作原理很简单,以键值对的形式将数据保存在 ...

  8. ML之ME:Best-KS分箱/KS值(分类预测问题中评价指标、数据分箱方法)的简介(KS与ROC的关系)、使用方法、案例应用之详细攻略

    ML之ME:Best-KS分箱/KS值(分类预测问题中评价指标.数据分箱方法)的简介(KS与ROC的关系).使用方法.案例应用之详细攻略 目录 Best-KS分箱/KS值的简介 1.Best-KS分箱 ...

  9. mathtype 复制粘贴到word中公式显示不全的问题解决方法

    mathtype 复制粘贴到word中公式显示不全的问题解决方法 由于论文模板中的段落行距设置成了固定值,而复制的公式纵向过长,仅能显示固定值设定的磅值区域. 解决办法为选定该公式,格式-段落-行距- ...

最新文章

  1. python图像中如何显示中文
  2. Android分级部门选择界面(一)
  3. STC89C52单片机 LED灯闪烁
  4. Python基础知识点分享:OS模块的应用
  5. 西北工业大学复试上机
  6. 【python】闭包
  7. java多线程 生产者消费者_java多线程之生产者消费者经典问题 - 很不错的范例
  8. CF720C Homework(构造)(暴力)
  9. 阿里云杨敬宇:四层技术构建基于城市场景的边缘计算
  10. Reservoir Computing: Harnessing a Universal Dynamical System
  11. opencv ORB特征匹配
  12. vue.js的学习中的简单案例
  13. 剑指offer——面试题33:把数组排成最小数
  14. word2vec 数学原理
  15. 基于VisualStudio11开发Windows8的Metro sample讲解(1)MessageBox
  16. strtol ( )【C语言库函数源代码】
  17. STM32的AD通道干扰问题
  18. 动视暴雪电竞与哔哩哔哩电竞达成数年电竞赛事合作协议
  19. CAD如何求曲线的交点?
  20. 域——windows服务器域详解

热门文章

  1. 前方高能!吹爆这份HTTP顶级教程
  2. unbuntu 18.04 无法安装mkcramfs
  3. wps怎么关闭修改痕迹_如何在wps文字中将修订标记去掉
  4. android中的ImageView,ImageView加载网络图片
  5. 新闻爬虫及爬取结果查询网站的搭建(一)
  6. Failed to import package with error: Couldn't decompress package的解决方案
  7. 机器学习char1 机器学习基础
  8. 【稳定性day1】从DBA到运维架构总监之路 - 专注的力量
  9. ajax实验,AJAX实验报告.doc
  10. 常用软件------系统必备软件