当前位置: 首页 > 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暴露需要返回父组件的内容

相关文章:

  • new语法
  • 汇编语言学习(二)——寄存器
  • 机器视觉图像处理之图像滤波
  • 2025年主流编程语言全面分析与学习指南
  • Android Studio历史版本下载地址汇总
  • Java JVM 内存模型详解
  • NodeJS全栈WEB3面试题——P2智能合约与 Solidity
  • 【笔记】在 MSYS2 MINGW64 环境中安装构建工具链(CMake、GCC、Make)
  • 【数据分析】第三章 numpy(2)
  • 精读92页《数据资产入表全流程指南》【附全文阅读】
  • SQL进阶之旅 Day 11:复杂JOIN查询优化
  • vue-13(延迟加载路由)
  • 【看到哪里写到哪里】在C里面怎么传递二维数组呢?
  • Python实例题:自联想器的Python实现
  • 腾讯位置商业授权沿途搜索服务开发指南
  • hot100 -- 7.链表系列
  • 2506js,活扩控件
  • 无法访问公网或 DNS 解析失败怎么办?
  • 【Python 算法零基础 4.排序 ⑦ 桶排序】
  • PythonWeb项目开发脚手架
  • 网站建设发布教程视频/关键词优化公司前十排名
  • 通过付费网站做lead/网站权重优化
  • cdr 做网站/百度认证官网申请
  • wordpress大前端哪个好/推广seo优化公司
  • 南充商城网站建设/个人免费网上注册公司
  • wordpress网站维护/百度广告位价格表