hooks知识点积累

hooks 解释=>钩子,钩住,钓钩,是React v16.8 新增的功能

hooks 作用=>

①为函数组件提供状态、生命周期等原本 class 组件中提供的 React 功能

②可以理解为通过 Hooks 为函数组件钩入 class 组件的特性

③注意:Hooks 只能在函数组件中使用

React v16.8 版本前后,组件开发模式的对比:

  • React v16.8 以前: class 组件(提供状态) + 函数组件(展示内容)
  • React v16.8 及其以后:
    1. class 组件(提供状态) + 函数组件(展示内容)
    2. Hooks(提供状态) + 函数组件(展示内容)
    3. 混用以上两种方式:部分功能用 class 组件,部分功能用 Hooks+函数组件

hooks-渐进策略

什么是hooks渐进式策略

①不推荐直接使用 Hooks 大规模重构现有组件

②推荐:新功能用 Hooks,复杂功能实现不了的,也可以继续用class

③找一个功能简单、非核心功能的组件开始使用hooks

useState-基本使用

useState作用=>为组件提供状态,是一个 hook,就是一个特殊的函数,让你在函数组件中获取状态等 React 特性;名称上看 hook 都以use开头的

语法


const stateArray = useState(0);
// 索引 0 表示:状态值(state)
const state = stateArray[0];
// 索引 1 表示:修改状态的函数(setState)
const setState = stateArray[1];

使用的步骤

  1. 导入 useState hook
  2. 调用 useState 函数,传入初始值
  3. 从 useState 函数的返回值中,得到状态和修改状态的函数
  4. 在 JSX 中展示状态
  5. 在按钮的点击事件中调用修改状态的函数,来更新状态

 

import { useState } from 'react';

const Count = () => {
  // 解构:
  const [count, setCount] = useState(0);

  return (
    <div>
      <h1>计数器:{state}</h1>
      <button onClick={() => setState(state + 1)}>+1</button>
    </div>
  );
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
React Hooks是React 16.8版本引入的新特性,用于函数组件中管理状态和生命周期。它的主要特点有:没有组件实例、没有生命周期、没有state和setState,只能接收props。通过使用Hooks,我们可以在函数组件中使用状态和其他React特性,而无需将其转换为类组件。 React Hooks的一些重要知识点包括: 1. useState:useState是一个Hooks函数,用于在函数组件内部声明和管理状态。它接收一个初始值,并返回一个包含当前状态值和更新状态值的数组。可以通过数组解构来获取状态值和更新状态的函数。 2. useEffect:useEffect是另一个Hooks函数,用于在函数组件中执行副作用操作,比如数据获取、订阅事件、修改DOM等。它接收两个参数,第一个参数是一个回调函数,用于执行副作用操作;第二个参数是一个依赖数组,用于指定在什么情况下重新运行副作用操作。如果依赖为空数组,表示只运行一次,类似于componentDidMount;如果没有依赖,表示每次渲染都运行,类似于componentDidUpdate;如果依赖数组中包含某个值,表示该值发生变化时才重新运行,类似于componentDidUpdate。 3. 自定义Hook:自定义Hook是一种将逻辑进行封装和复用的方式。它可以将状态和副作用逻辑抽离出来,在多个组件之间进行共享。自定义Hook的命名一般以"use"开头,可以使用useState、useEffect等内置Hooks函数。 4. 注意事项:在使用useState时要注意初始化值只有在第一次渲染时有效,之后的重新渲染不会再重新设置新的值,而是恢复初始值。在使用useEffect时要注意避免出现死循环的情况,使用正确的依赖数组来控制effect的执行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值