hook入门学习心得

简介: Hook是函数式组件,相对于类组件来讲更容易理解和使用,接下来我将简单介绍如何去理解和使用hook。

      Hook是函数式组件,相对于类组件来讲更容易理解和使用,接下来我将简单介绍如何去理解和使用hook。

一、State Hook —-- 声明和修改变量

1.png

例子中声明了一个函数名为HomePagehook组件,功能是简单的计数器。useState就是一个hook,在函数组件中调用这个hook会返回一对值,当前状态和更新它的函数。可以这样去理解,当前状态count是全局可用的变量名,并被初始化为0,在触发函数的情况下,setCount就会更新count的值。

二、Effect Hook ---- 操作副作用

2.png

React 渲染组件时,会保存已使用的 effect,并在更新完 DOM 后执行它。由于useEffect在组件内部,所以可以直接访问到组件内部所有的state及相关props值,count值每变化一次就会调用一次useEffect函数。useEffect相当于生命周期中的componentDidMountcomponentDidUpdate componentWillUnmount 这三个函数的组合。组件在每次渲染后会执行useEffect的第一个参数,useEffect每次渲染时第二个参数默认为空数组,传入count仅在count更改时更新,且第二个参数可接受多个变量。

三、自定义hook

自定义hook是一种自然遵循 Hook 设计的约定,完全可以理解为是一个独立出来以use开头的函数,在不同组件中每次调用hook都会获取到完全独立的stateeffect,所以当两个组件同时调用同一自定义的hook组件时,这两个组件不会共享自定义hook中的state

3.png

四、useRef

useRef 返回一个可变的 ref 对象,其 .current 属性被初始化为传入的参数(initialValue)。返回的 ref 对象在组件的整个生命周期内保持不变。

本质上,useRef 就像是可以在其 .current 属性中保存一个可变值的盒子。它可以很方便地保存任何可变值,其类似于在 class 中使用实例字段的方式。这是因为它创建的是一个普通 Javascript 对象。 useRef() 和自建一个 {current: ...} 对象的唯一区别是,useRef 会在每次渲染时返回同一个 ref 对象。

4.png

以上就是使用hook常见的常用的部分的知识,更多内容请参考官方网站进行深入学习,链接如下:

https://react.docschina.org/docs/hooks-intro.html

相关文章
|
机器学习/深度学习 人工智能 Cloud Native
高性能深度学习推理平台 OpenPPL 正式开源!
高性能深度学习推理平台 OpenPPL 正式开源!
2464 0
|
数据管理 容器 BI
公开课05期 |基于宜搭的《招聘管理》应用搭建
本文章将以《招聘管理》场景为例,介绍通过Excel导入成线上系统的详细步骤。
13052 0
公开课05期 |基于宜搭的《招聘管理》应用搭建
|
5月前
|
机器学习/深度学习 人工智能 搜索推荐
天猫API智能分析用户行为,精准推荐转化率飙升!
在竞争激烈的电商环境中,天猫API通过人工智能技术深度分析用户行为,实现个性化推荐,有效提升用户转化率。本文解析其智能分析、精准推荐及转化率优化的实现机制,助力商家把握数据价值。
325 0
|
Linux API 调度
技术笔记:Linux内核跟踪和性能分析
技术笔记:Linux内核跟踪和性能分析
|
机器学习/深度学习 存储 人工智能
EfficientTAM:Meta AI推出的视频对象分割和跟踪模型
EfficientTAM是Meta AI推出的轻量级视频对象分割和跟踪模型,旨在解决SAM 2模型在移动设备上部署时的高计算复杂度问题。该模型采用非层次化Vision Transformer(ViT)作为图像编码器,并引入高效记忆模块,以降低计算复杂度,同时保持高质量的分割结果。EfficientTAM在多个视频分割基准测试中表现出与SAM 2相当的性能,具有更快的处理速度和更少的参数,特别适用于移动设备上的视频对象分割应用。
388 9
EfficientTAM:Meta AI推出的视频对象分割和跟踪模型
|
监控 网络协议 Linux
Linux I/O多路复用深入解析:从select到epoll的演进之路
Linux I/O多路复用深入解析:从select到epoll的演进之路
724 0
|
缓存 Java API
HttpClient使用笔记干货满满
HttpClient使用笔记干货满满
275 0
|
存储 弹性计算 安全
重磅!阿里云核心产品全线降价,大幅提升伙伴佣金,启动千问伙伴计划
今天,在2023阿里云合作伙伴大会上,阿里云宣布核心产品价格全线下调15%至50%,存储产品最高降幅达50%,这是阿里云史上最大规模降价。
2997 17