Hooks - useState 和 useEffect
Hooks - useState 和 useEffect
**什么是 React Hooks?**
Hooks 是 React v16.8 中引入的特殊函数,它允许功能组件使用 React 特性,例如状态和生命周期方法,而无需编写类组件。
**1. useState 钩子**
useState 钩子用于向功能组件添加状态。
它提供:
const [state, setState] = useState(initialValue);
**例子:**
import React, { useState } from 'react';
export default function MyComponent() {
const [name, setName] = useState("Guest");
const [age, setAge] = useState(0);
const updateName = () => setName("Damilare");
const updateAge = () => setAge(age + 2);
return (
Name: {name}
Age: {age}
);
}**2. useEffect Hook**
`useEffect` 钩子允许你在功能组件中执行副作用。示例包括:
useEffect(callback, [dependencies]);
**基于依赖关系的行为:**
**例子:**
import React, { useEffect, useState } from 'react';
export default function UseEffectHook() {
const [count, setCount] = useState(0);
const [color, setColor] = useState("green");
// Runs on mount and whenever count or color changes
useEffect(() => {
document.title = `Count: ${count} - Color: ${color}`;
}, [count, color]);
const incrementCount = () => setCount(count + 1);
const decrementCount = () => setCount(count - 1);
const toggleColor = () => setColor(color === "green" ? "red" : "green");
return (
<>
{`Count: ${count}`}
>
);
}**useEffect 的用例:**
**清理示例:**
useEffect(() => {
const timer = setInterval(() => console.log('Running...'), 1000);
return () => {
clearInterval(timer); // Cleanup on unmount
};
}, []);**要点:**
日复一日。
理解再理解。