重新理解React-hook

时间:2024-04-27 07:26:50

Hook是什么

Hook是React16.8版本新增的特性,它可以让我们在不写类组件的情况下使用state以及其他的React特性。

它解决了以下这些问题:

  1. 逻辑复杂的组件难以开发和维护,当我们的组件需要处理多个互不相关的local state时,每个生命周期函数中可能包含着各种互相关的逻辑
  2. 类组件中的this增加了学习成本
  3. 由于业务变动,函数组件必须转为类组件。

以前呢,函数组件是没有状态的,它只负责渲染的工作;现在的函数组件是有状态组件,在组件内部可以维护自身的状态以及做一些逻辑处理。

Hooks让函数组件拥有类组件的特性,比如组件的状态、生命周期,最常见的Hooks有:

  • useState
  • useEffect

useState

import {
    useState } from 'react';
function Example(