react hook的理解

更新时间:2023-06-22 21:53:49 阅读: 评论:0

react hook的理解
    React Hook(以下简称Hook)是React16.8版本新增加的一种可以让函数组件使用 state 和其他 React 特性的函数。
典韦    在Hook之前,React组件被分为函数组件和类组件两种,函数组件只能写出一个静态的UI组件,没有状态,没有生命周期方法。而类组件可以拥有自己的状态和生命周期方法,但是Class组件在编写过程中发现容易出现很多问题,例如this绑定和大量代码难以维护等。为了解决这些问题,React官方团队在16.8版本中引入了Hook。
    通过Hook,函数组件可以拥有相似于Class组件的功能,例如state状态管理、生命周期、Context、Refs(Refs处理HTML元素或类组件实例,而无需使用findDOMNode),并且可以在不需要修改UI结构的情况下实现复杂的特性,避免了类组件的一些问题。
    带来这些变化的Hook规则有两个基本原则:
    1. 只在最顶层使用Hook,不要在循环,条件或嵌套函数中调用Hook,保证调用Hook的完整性一致。
大年30>关于兔的古诗
    2. 只在React函数中调用Hook,不要在普通的JavaScript函数中调用Hook。
    Hook有以下的一些常用方法:
    uState
    在函数组件中,通过uState Hook来声明和使用state状态,它的一些特点和注意事项:
    1. 使用数组解构来获取 uState Hook,第一个是state的值,第二个是更新state的函数。
    2. uState第一个参数是初始的state值,可以是任何类型。
6月10日是什么星座
    3. uState返回一个数组,其中第一个值是state的当前值,第二个值是更新state的函数。
食堂承包合同书
    4. 应该避免向uState传递一个可能会被多次计算的表达式,应该将计算函数放在uEffect中进行处理。
    5. 设置state是异步的,因此如果对state的多个值进行操作,建议使用合并对象的方式,而不是多个tState。
    uEffect
    在函数组件中,使用uEffect来添加副作用。它的用途有以下几种:
    1. 执行数据获取、设置订阅以及手动更改React组件中的DOM节点。
    2. execute data fetching, tting up a subscription, and manually changing the DOM in React components.
    3. 在组件挂载和卸载(intial和final)的生命周期调用这两个不同的effect(componentDidMount/componentWillUnmount)
    4. 在state更新后,使用effect来重新渲染组件。
    在使用uEffect的时候需要注意以下点:
    1. 使用uEffect时,可以有多个effect,为了更容易的组织代码,建议把不同的effect拆分成不同的函数。
动词英语    2. 在effect中,可以有异步的执行操作,也可以异步请求数据。
    3. effect函数最终要返回cleaner函数,用于在组件卸载时及时清除数据或调用取消订阅的方法。
    使用 uContext 来获取上下文,比如在React中使用Context来在应用程序的组件之间共享数据。使用Context可以避免通过组件树跨越多层次的传递Props,这样可以优化组件的性能。
    使用uContext的时候需要注意:
    1. 在ReactUI库中,Context通常用于为许多组件提供无需命名的颜色或主题。
    2. 当组件深度大于3层时,使用Context通常是一个更好的选择。
    3. Context最好只提供一个种类型的数据,也是避免维护上下文的比较复杂方法之一。
    使用uRef来创建一个Ref对象,可以在React组件中保存普通的JavaScript对象,这些对象可以在组件重新渲染时保留不变。uRef所创建的对象在整个组件中都是唯一的。它不会生成新的Ref属性。Ref对象被设计为保存对DOM节点的引用。
    使用uRef应该注意以下几点:
    1. uRef可以保存任何可以保存的值,包括字符串、数字、布尔值、DOM节点等。
    2. 当Ref在元素的构造函数中被使用时,它的current属性将只包含DOM元素的默认值,这是因为在元素构造函数的执行过程中DOM元素尚未被创建。
    uReducer
    使用uReducer来管理组件的状态,它类似于Redux中的reducer函数。
姜的作用和功效
    uReducer接收两个参数,第一个参数是纯净的Reducer函数,第二个参数是State的初始值。
陌上柔桑破嫩芽    1.通常情况下,uState是更好的选择。
    2.可以使用uReducer来管理单个state属性以及复杂的state对象。

本文发布于:2023-06-22 21:53:49,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1050398.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:组件   使用   函数   状态   数据
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图