当前位置: 首页 > news >正文

React Hooks 精要:从入门到精通的进阶之路

Hooks 是 React 16.8 引入的革命性特性,它让函数组件拥有了类组件的能力。以下是 React Hooks 的详细使用指南。

一、基础 Hooks

1. useState - 状态管理

import { useState } from 'react';function Counter() {const [count, setCount] = useState(0); // 初始值为0return (<div><p>You clicked {count} times</p><button onClick={() => setCount(count + 1)}>Click me</button>{/* 使用函数式更新 */}<button onClick={() => setCount(prev => prev + 1)}>Safe Increment</button></div>);
}

特点:

  • 可以多次调用声明多个状态变量
  • 状态更新会触发组件重新渲染
  • 函数式更新确保获取最新状态

2. useEffect - 副作用处理

import { useState, useEffect } from 'react';function Example() {const [data, setData] = useState(null);// 相当于 componentDidMount 和 componentDidUpdateuseEffect(() => {fetch('/api/data').then(res => res.json()).then(setData);}, []); // 空数组表示只在组件挂载时执行// 监听特定状态变化useEffect(() => {document.title = `Count: ${count}`;}, [count]); // count变化时执行// 清理函数 (相当于 componentWillUnmount)useEffect(() => {const timer = setInterval(() => {console.log('Timer running');}, 1000);return () => clearInterval(timer);}, []);
}

执行时机:

  • 默认在每次渲染后执行
  • 可以通过依赖数组控制执行条件
  • 清理函数在下一次effect执行前运行

3. useContext - 跨组件传值

相关文章:

  • TWAS、GWAS、FUSION
  • 【读书笔记】《编码:隐匿在计算机软硬件背后的语言》01 逻辑与开关
  • 【单片机毕业设计16-基于stm32c8t6的智慧交通灯系统设计】
  • 湖南(源点咨询)市场调研 商业综合体定位调研分享(下篇)
  • Spring Boot 中如何启用 MongoDB 事务
  • 华为云服务器核心用途全景解析:从基础服务到行业革新​​
  • # 深度学习实操 附录B 深入解析 tensorflow 自动微分
  • 【Python】装饰器在装什么
  • 递归函数(斐波那契数列0,1,1,2,3,5,8,13,21,34,55...)
  • 运放OP方向技术要点和大厂题目解析
  • LWIP的IP协议笔记
  • Java中的代理机制
  • STC32G12K128程序大于64KB使用128KB用户EEPROM设置
  • JavaWeb基础
  • 438. 找到字符串中所有字母异位词(滑动窗口)
  • Android方法耗时监控插件开发
  • vue3项目中CodeMirror的复杂用法,实现自定义语法模式,手动在指定光标位置插入/获取/替换/绑定文本
  • 当可视化遇上 CesiumJS:突破传统,打造前沿生产配套方案
  • CentOS7.9部署FunASR实时语音识别接口 | 部署商用级别实时语音识别接口FunASR
  • 线程安全 1_线程安全
  • 耿军强任陕西延安市领导,此前任陕西省公安厅机场公安局局长
  • 2025上海科技节将于5月17日开幕,拟设6大板块专题活动
  • 再有20余篇论文出现“妇科男患者”“前列腺女患者”,如何破除“水论文”灰产链?
  • 印对巴军事打击后,巴外交部召见印度驻巴临时代办
  • 8大类1000多支,中国红十字会已建成10万人规模救援队伍
  • 马上评|颜宁“简历打假”的启示