当前位置: 首页 > news >正文

react中的useEffect()的使用

useEffect()是react中的hook函数,作用是用于创建由渲染本身引起的操作,而不是事件的触发,比如Ajax请求,DOM的更改

首先useEffect()是个函数,接受两个参数,第一个参数是一个方法,第二个参数是数组 称为依赖项数组,可以没有。第二个参数的不同会影响第一个参数方法的使用

依赖项数组不同的区别

另外还有一种情况就是清除useEffect()的副作用,直接在第一个参数函数里面写一个return一个函数,就会在组件卸载的时候自动清理

import { useEffect, useState } from "react"function Son(){// 开启一个定时器useEffect(()=>{const timer=  setInterval(()=>{console.log("定时器");},1000)return ()=>{clearInterval(timer)}},[])return (<><div>这是 son组件</div></>)
}function App(){// 1.没有依赖项的时候 初始会触发 组件更新会触发const [count,setCount] = useState(0)// useEffect(()=>{//     console.log("副作用函数执行与否");// })// 2.当依赖项为空数组的时候 只会在初始时触发 //   useEffect(()=>{//     console.log("副作用函数执行 []");// },[])// 3.传入特定的依赖项  初始时触发 依赖项变化时触发useEffect(()=>{console.log("副作用函数执行 []");},[count])// 4.清除useEffect的副作用 通过在第一个参数函数中return一个函数 清除副作用// 最常用的常见就是在组件卸载时自动执行const [show,setShow] = useState(true)return (<><div>useEffect的使用 根据依赖项的不同</div><button onClick={()=>setCount(count+1)}>{count}</button><div>{show&&<Son/>}<button onClick={()=>setShow(false)}>卸载son组件</button></div></>)
}export default App

相关文章:

  • php 设置时区
  • 这款网站测试工具,炫酷且强大!【送源码】
  • redis 主从复制薪火相传 哨兵sentinel配置以及底层原理
  • MyBatis中常见标签的使用(动态SQL)
  • Java GC问题排查的一些个人总结和问题复盘
  • 【C++题解】1133. 字符串的反码
  • 开源与闭源:AI大模型发展路径的博弈
  • Windows hook介绍与代码演示
  • Flutter 中的 ColoredBox 小部件:全面指南
  • python前端通过API接口调用与后端进行数据交互前端如何调用api接口获取电商平台商品实时评论信息数据
  • Python项目生成requirements.txt文件
  • Windows搭建Nginx代理本地盘的文件(共享路径或本地路径)
  • ROS2学习——节点话题通信(2)
  • 【MySQL精通之路】SQL优化(1)-查询优化(10)-外部联接简化
  • Python代码:十七、生成列表
  • 2017-08-04 前端日报
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • JavaScript创建对象的四种方式
  • Java比较器对数组,集合排序
  • MYSQL 的 IF 函数
  • Otto开发初探——微服务依赖管理新利器
  • PHP变量
  • Sequelize 中文文档 v4 - Getting started - 入门
  • uva 10370 Above Average
  • 大数据与云计算学习:数据分析(二)
  • 聊聊redis的数据结构的应用
  • 使用parted解决大于2T的磁盘分区
  • 说说动画卡顿的解决方案
  • 微信小程序:实现悬浮返回和分享按钮
  • 微信支付JSAPI,实测!终极方案
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • ​Java基础复习笔记 第16章:网络编程
  • ​决定德拉瓦州地区版图的关键历史事件
  • ​业务双活的数据切换思路设计(下)
  • #QT(智能家居界面-界面切换)
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #微信小程序:微信小程序常见的配置传旨
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (四)鸿鹄云架构一服务注册中心
  • (算法)Travel Information Center
  • (一)Docker基本介绍
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)Sql Server 保留几位小数的两种做法
  • (轉)JSON.stringify 语法实例讲解
  • .net core 使用js,.net core 使用javascript,在.net core项目中怎么使用javascript
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET 给NuGet包添加Readme
  • .NET 项目中发送电子邮件异步处理和错误机制的解决方案
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)