React Hook的理解?和常见的Hook

2023-09-12 08:50:25

Hooks的理解?

定义: Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性

为什么引入Hooks?

  • 解决长时间使用和维护react过程中常遇到的问题

  • 难以重用和共享组件中的与状态相关的逻辑

  • 逻辑复杂的组件难以开发与维护,当我们的组件需要处理多个互不相关的 local state时,每个生命周期函数中可能会包含着各种互不相关的逻辑在里面

  • 类组件中的this增加学习成本,类组件在基于现有工具的优化上存在些许问题

  • 由于业务变动,函数组件不得不改为类组件等等

  • 函数组件也被称为无状态的组件,只负责渲染的一些工作

现在的函数组件也可以是有状态的组件,内部也可以维护自身的状态以及做一些逻辑方面的处理

最常见的hooks

  • useState

  • useEffect

  • useReducer

  • useCallback

  • useMemo

  • useRef

最常见的hooks的用法

useState

在函数组件中通过useState实现函数内部维护state,参数为state默认的值,返回值是一个数组,第一个值为当前的state,第二个值为更新state的函数

useEffect

useEffect第一个参数接受一个回调函数,默认情况下,useEffect会在第一次渲染和更新之后都会执行,相当于在componentDidMount和componentDidUpdate两个生命周期函数中执行回调

useEffect第二个参数接受一个列表[]

如果第二个参数为空列表时,这个函数在挂载阶段执行一次

如果第二个参数是一个某个列表或者是一个值,这个列表值发生变化,这个函数就执行一次

Hooks解决什么?

  • 每调用useHook一次都会生成一份独立的状态

  • 通过自定义hook能够更好的封装我们的功能

  • 编写hooks为函数式编程,每个功能都包裹在函数中,整体风格更清爽,更优雅

  • hooks的出现,使函数组件的功能得到了扩充,拥有了类组件相似的功能,在我们日常使用中,使用hooks能够解决大多数问题,并且还拥有代码复用机制,因此优先考虑hooks

  • 作者:编程小基佬
  • 原文链接:https://blog.csdn.net/cjp1223/article/details/128483798
    更新时间:2023-09-12 08:50:25