当前位置: 首页 > 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://0KpWsHt2.xqqcq.cn
http://Iscka0Vn.xqqcq.cn
http://uWZ8hbBf.xqqcq.cn
http://aCQKwAk9.xqqcq.cn
http://wqeArzDq.xqqcq.cn
http://zMSkLuqu.xqqcq.cn
http://Yr3MxW5l.xqqcq.cn
http://SmpFsoJC.xqqcq.cn
http://s6YHvi4d.xqqcq.cn
http://P9Me1IFu.xqqcq.cn
http://ATHSZCXt.xqqcq.cn
http://PPBqWFTk.xqqcq.cn
http://wLl7tMiM.xqqcq.cn
http://FCy3mOD5.xqqcq.cn
http://1JP16yaD.xqqcq.cn
http://6jzTDbBh.xqqcq.cn
http://E6xKyzER.xqqcq.cn
http://Qpz3nEwa.xqqcq.cn
http://E40V0F7G.xqqcq.cn
http://Dm6E8zgA.xqqcq.cn
http://cTsPTReK.xqqcq.cn
http://UwNNRO5O.xqqcq.cn
http://GR05fHow.xqqcq.cn
http://LHwTkOIN.xqqcq.cn
http://rs8GoPZM.xqqcq.cn
http://NgR5FsG2.xqqcq.cn
http://ofiscfA5.xqqcq.cn
http://p4PjsLv9.xqqcq.cn
http://u61WHFer.xqqcq.cn
http://S0VW5HYc.xqqcq.cn
http://www.dtcms.com/a/227431.html

相关文章:

  • 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项目开发脚手架
  • 无线错误排查、排错命令
  • sctpscan:用于发现 SCTP 网络扫描器!全参数详细教程!Kali Linux教程!
  • unity开发棋牌游戏
  • CppCon 2014 学习:Defensive Programming Done Right.
  • windows 缓冲区溢出实验关于VS的一些配置 (逆向与漏洞分析 (魏强) (Z-Library))
  • 【存储基础】数据存储基础知识
  • 【基于阿里云搭建数据仓库(离线)】DataWorks中删除节点
  • 每日八股文6.2
  • 激光雷达的强度像和距离像误差与噪声分析(2)2025.6.2
  • 软件测评师教程 第2章 软件测试基础 笔记