React Hooks 是 React 中引入的最強大的功能之一。它們簡化了功能元件中的狀態和副作用管理,使您的程式碼更清晰、更具可讀性。在這篇文章中,我們將介紹三個常用的鉤子:useState、useEffect 和 useContext。
useState 鉤子可讓您為功能元件新增狀態,而無需將它們轉換為類別元件。
範例:
const Counter = () => { const [count, setCount] = React.useState(0); return ( <div> <p>Current Count: {count}</p> <button onClick={() => setCount(count + 1)}>Increment</button> </div> ); };
工作原理:
useEffect 鉤子非常適合處理 API 呼叫、訂閱或 DOM 操作等副作用。
範例:
const DataFetcher = () => { const [data, setData] = React.useState(null); React.useEffect(() => { fetch('https://api.example.com/data') .then(response => response.json()) .then(data => setData(data)); }, []); // Empty array ensures this runs only once on mount return <div>{data ? JSON.stringify(data) : 'Loading...'}</div>; };
重點:
useContext 鉤子簡化了對全域資料的訪問,而無需在元件樹中傳遞 props。
範例:
const ThemeContext = React.createContext(); const ThemeProvider = ({ children }) => { const [theme, setTheme] = React.useState('light'); return ( <ThemeContext.Provider value={{ theme, setTheme }}> {children} </ThemeContext.Provider> ); }; const ThemeToggler = () => { const { theme, setTheme } = React.useContext(ThemeContext); return ( <button onClick={() => setTheme(theme === 'light' ? 'dark' : 'light')}> Toggle Theme: {theme} </button> ); }; // Usage in App const App = () => ( <ThemeProvider> <ThemeToggler /> </ThemeProvider> );
為什麼要使用useContext?
React Hooks 讓功能元件更加強大和靈活。透過 useState、useEffect 和 useContext,您可以輕鬆管理狀態、副作用和全域數據,而無需依賴類別元件。
Hooks 是任何 React 開發者都必須學習的東西——開始嘗試並發現它們如何簡化你的開發過程!
你最喜歡的 React Hook 是什麼?請在評論中告訴我!
以上是了解 React Hooks:初學者指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!