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 }; }, []);
**要点:**
日复一日。
理解再理解。