欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > React Hooks 精要:从入门到精通的进阶之路

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

2025/5/13 1:34:44 来源:https://blog.csdn.net/KungLun/article/details/147847556  浏览:    关键词: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 - 跨组件传值

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词