reactHooks_useEffect
2024-10-21 23:01:56
当在直接在组件内使用setState时,会产生“渲染次数过多”的错误
例如:
const A = ( ) => {
const [num,setNum] = useState(1);
setNum(1);
return (<>{num}</>);
};
虽然之前的num与之后的num内容一致,应不会产生渲染
但setNum() 之后的内部方法是 dispatchSetDate(),它会去判断当前在什么阶段
如果是渲染阶段(个人理解是A组件运行过程中)则不会检查num值是否相同,每次setNum()过后都会重新渲染(执行A组件),导致死循环
等A组件过程结束,则会检查num值是否相同。
一般这种情况,可以使用useEffect
最新文章
- C++_系列自学课程_第_7_课_数组_《C++ Primer 第四版》
- 解决WCF的service端无法使用泛型的问题
- Linux 实现自动安装服务组件以及优化内核参数 (转)
- 使用SharePoint 2010的母版页
- mybaitis配置信息
- Bootstrap(2)整体架构
- Java基础(4)-数组
- HTML中表格
- shell 脚本下执行Mongodb命令
- 【原创】研发应该懂的binlog知识(下)
- docker-compose学习
- Mind Manager X 10 registry backup key under windows XP
- 详细讲解Linux下安装python3(Python3.5.4)
- helm的安装于与简单使用
- selenium实战脚本集(2)——简单的知乎爬虫
- 20145309李昊 WEB基础实践
- 配置 Mysql 支持远程访问 并取消域名解析以提高链接速度
- ROS教程
- [leetcode shell]192. Word Frequency
- epoll 系列函数简介、与select、poll 的区别
热门文章
- 解决python 操作 hbase报错:TTransportException(type=4,message=’TSocket read 0 bytes’)
- IDEA中引入smarttomcat后控制台输出乱码,运行跳转到浏览器
- 使用git下载文件时提示身份验证失败
- vue vant3上传图片文件以流的形式上传
- HybridCLR热更新方案
- BIP拓展js的使用
- (K8s学习笔记七)Pod的升级和回滚
- vue项目,npm run dev的时候出现:Error: error:0308010C:digital envelope routines::unsupported
- 更改材质uv
- 打卡node day06 ---登录和注册接口