選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

React Hooks


Hooks 在 React 16.8 版本中被新增。

Hooks 允許函式元件訪問 state 和其他 React 功能。因此,類元件通常不再需要。

儘管 Hooks 通常會取代類元件,但 React 沒有移除類的計劃。


什麼是 Hook?

Hooks 允許我們“鉤入” React 功能,如 state 和生命週期方法。

示例

這是一個 Hook 的示例。如果它不明白,請不要擔心。我們將在 下一節 中進行更詳細的介紹。

import React, { useState } from "react";
import ReactDOM from "react-dom/client";

function FavoriteColor() {
  const [color, setColor] = useState("red");

  return (
    <>
      <h1>My favorite color is {color}!</h1>
      <button
        type="button"
        onClick={() => setColor("blue")}
      >Blue</button>
      <button
        type="button"
        onClick={() => setColor("red")}
      >Red</button>
      <button
        type="button"
        onClick={() => setColor("pink")}
      >Pink</button>
      <button
        type="button"
        onClick={() => setColor("green")}
      >Green</button>
    </>
  );
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<FavoriteColor />);

執行示例 »

你必須從 react import Hooks。

這裡我們使用 useState Hook 來跟蹤應用程式狀態。

State 通常指的是需要跟蹤的應用程式資料或屬性。


Hook 規則

Hooks 有 3 條規則

  • Hooks 只能在 React 函式元件內呼叫。
  • Hooks 只能在元件的頂層呼叫。
  • Hooks 不能是條件性的

注意: Hooks 在 React 類元件中將無法工作。


自定義 Hooks

如果你有需要在多個元件中重用的狀態邏輯,你可以構建自己的自定義 Hooks。

我們將在 自定義 Hooks 部分 中提供更多詳細資訊。


×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援