React Hooks 是 React 16.8 引入的新特性,它允许你在不编写 class
的情况下使用 state
以及其他的 React 特性。以下是对一些常用 React Hooks 方法及其原理的详细解释:
1. useState
- 作用:在函数组件中添加
state
功能。 - 用法示例:
import React, { useState } from 'react';
function Example() {
// 声明一个新的叫做 “count” 的 state 变量
const [count, setCount] = useState(0);
return (
<div>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>
Click me
</button>
</div>
);
}
- 原理:
useState
是一个函数,它接收一个初始值作为参数,并返回一个数组,数组的第一个元素是当前的state
值,第二个元素是一个更新state
的函数。每次调用更新函数时,React 会重新渲染组件,并将新的state
值传递给组件。
2. useEffect
- 作用:在函数组件中执行副作用操作,如数据获取、订阅、手动修改 DOM 等。
- 用法示例:
import React, { useState, useEffect } from 'react';
function Example() {
const [count, setCount] = use