reactHooks_useEffect
当在直接在组件内使用setState时,会产生“渲染次数过多”的错误
例如:
const A = ( ) => {
const [num,setNum] = useState(1);
setNum(1);
return (<>{num}</>);
};
虽然之前的num与之后的num内容一致,应不会产生渲染
但setNum() 之后的内部方法是 dispatchSetDate(),它会去判断当前在什么阶段
如果是渲染阶段(个人理解是A组件运行过程中)则不会检查num值是否相同,每次setNum()过后都会重新渲染(执行A组件),导致死循环
等A组件过程结束,则会检查num值是否相同。
一般这种情况,可以使用useEffect
reactHooks_useEffect的更多相关文章
随机推荐
- RHEL8注册
安装RHEL后,因为是商用系统,YUM软件仓库是不能使用的,需要注册后才可以使用.个人用户可以去红帽官网申请开发者账户. https://developers.redhat.com/ 有了开发者账户后 ...
- JAVA格式化数字字符串,如手机号,银行卡号的格式化
格式化手机号码为3 3 5 String mobile = "13123456789"; String regex = "(\\d{3})(\\d{3})(\\d{5}) ...
- vs code + miktex配置
windows10系统通过choco安装miktex choco install miktex 添加path vscode配置: { // Latex workshop "latex-wor ...
- ADT 更新遇到的一个BUG解决方案【转】
蠻長一陣子沒有更新ADT,正好Android 5.0 Release有一段時間,就順勢更新: 當按下Next後進行更新ADT 23.0.4 途中卻發生如下圖的問題: An error occurred ...
- windows环境下部署项目
有些时候,我们的项目不得不用windows服务器部署,但是需要注意的是,windows服务是无法开启多进程处理请求的. 本文介绍如何在windows上部署flask项目,应用 apache + mod ...
- exe可执行文件反编译成py文件
记录一下exe文件反编译的问题 准备工作 1. 安装第三方包 uncompyle6 (pip install uncompyle6==3.7.4) 2. 下载pyinstxtractor.py文件 3 ...
- 综合java admin后台记录
在新冠将来未来的气氛下,做一些年终封箱吧,这个事没做完,但暂时可能也没时间做,待来年了 https://hooray.gitee.io/fantastic-admin/ https://github. ...
- vvvvvv异步组件儿
const AsyncCommonItem = Vue.defineAsyncComponent(()=>{ return new Promise((resolve,reject)=>{ ...
- c语言学习--静态函数
静态函数 #include<stdio.h> //这是静态函数, 静态函数只能在当前文件调用,其他文件下面的函数是没法调用到这个函数的 static void fun1() { print ...
- Oracle 会话锁死
需要管理员用户下执行(sys/sysdba) --先查锁 select * from v$lock where lmode > 0 and type in ('TM','TX'); --查用户名 ...