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

hook组件-useEffect、useRef

hook组件-useEffect、useRef

useEffect

用法及执行机制

WillMount -> render -> DidMount

ShouldUpdate -> WillUpdate -> render -> DidUpdate

WillUnmount(只有这个安全) WillReceiveProps

  • useEffect(callback) 默认所有依赖都更新
  • useEffect(callback, []),空依赖所以无依赖
  • useEffect(callback, [xxx]),指定依赖

  • 返回一个小函数,会在组件释放的时候执行。

*effect链表

会把callback或者返回的小函数加入effect链表中,然后按照规则执行。

执行自己的链表之前,把上次链表中需要执行的执行。

不能被嵌入条件和循环中

callback的返回值只能是一个函数。被async修饰了,返回的是一个promise所以不行。

与useLayoutEffect的区别

layoutEffect的执行时机,virtual dom生成的时候。

更准确地说,是在浏览器绘制渲染之前。

视图更新四步走:

useRef

状态 生命周期,ref。

3种情况:

  1. 标签。dom元素。
  2. 类组件。该类组件实例。
  3. 函数组件。配合React.forwardRef,拿到的是函数组件中的某个dom元素。

类组件中ref的使用方法

ref是一个函数,最推荐的方法。

函数组件中的ref用法。但这种不推荐。

创建一个ref对象。useRef创建一个ref对象。

特点:

useRef重新执行不会再生成新的。react类组件重新更新只是重新执行render,不会重新创建实例,对ref对象没有影响。

使用ref的作用:

本组件dom元素。

类组件实例。

配合forwardRef获得函数组件中的某个元素。

useImpretiveHandle

通过return暴露需要返回父组件的内容

http://www.xdnf.cn/news/773191.html

相关文章:

  • Docker 镜像原理
  • MySQL DDL操作全解析:从入门到精通,包含索引视图分区表等全操作解析
  • <6>, 界面优化
  • 基于Python学习《Head First设计模式》第三章 装饰者模式
  • 线程池详细解析(二)
  • MCP还是A2A?AI未来技术选型深度对比分析报告
  • 程序设计实践期末考试模拟题(1)
  • JAVA核心知识点--元注解详解
  • pbootcms 搜索自定义字段模糊、精准搜索
  • SolidWorks建模(U盘)- 多实体建模拆图案例
  • 网络攻防技术三:网络脆弱性分析
  • 华为OD机试_2025 B卷_小华地图寻宝(Python,100分)(附详细解题思路)
  • 零基础学习计算机网络编程----socket实现UDP协议
  • 功能结构整理
  • python 如何写4或5的表达式
  • 瑞萨CS+ for CC V8.13.00环境安装教程
  • 网络攻防技术五:网络扫描技术
  • 《操作系统真相还原》——完善内核
  • mysql专题上
  • 中科院报道铁电液晶:从实验室突破到多场景应用展望
  • 快捷键插入函数
  • python爬虫:Ruia的详细使用(一个基于asyncio和aiohttp的异步爬虫框架)
  • DAY 38 超大力王爱学Python
  • SDU棋界精灵——实现硬件程序ESP32的FreeRTOS任务
  • GODOT引擎学习日志
  • 排便不是一件可以随意“延后”的事:长期便秘->直肠敏感性降低->功能性便秘->大便失禁
  • #STM32 HAL库实现的STM32F407时钟配置程序以及和STM32F103配置对比
  • Ubuntu挂起和休眠
  • Java垃圾回收算法及GC触发条件
  • [蓝桥杯]找到给定字符串中的不同字符