【React 學習筆記 EP.06】useState

更新 發佈閱讀 5 分鐘

什麼是 useState?

useState 是一個 React Hook,當開發者透過它改變資料時,React 偵測到變動便會自動重新渲染畫面,確保使用者看到最新的資訊。

useState 基礎語法

  1. 從 react 函式庫中匯入 useState 方法
  2. useState 會回傳一個陣列,通常宣告為 const [變數名, 設定函式] = useState(初始值)
  3. 傳入的參數決定了狀態的起始值,可以是數字、字串、物件或陣列
  4. 設定函式應以 set 開頭並採用駝峰式命名,例如 setCount
  5. 必須透過設定函式來更新值,嚴禁直接修改變數,否則畫面不會更新

常見錯誤與解決方法

  1. 無限迴圈:在元件主體中直接呼叫 set 函式,會導致陷入渲染→設定→渲染的循環,建議將更新邏輯放在事件處理或 useEffect 中。
  2. 依賴舊值更新:直接使用 setCount(count + 1) 可能讀到舊值,建議改用 setCount(prev => prev + 1) 確保取得最新狀態。
import { useState } from 'react';

// 定義主元件
const CounterApp = () => {
// 定義計數器狀態,初始值為 0
// count: 當前數值, setCount: 用來更新數值的函式
const [count, setCount] = useState(0);

// 定義輸入框文字狀態,初始值為空字串
const [text, setText] = useState("");

// 定義增加數值的函式
const handleIncrement = () => {
// 使用 callback 寫法確保基於「前一次」的狀態進行更新
setCount(prevCount => prevCount + 1);
};

// 定義重置數值的函式
const handleReset = () => {
// 直接設定為特定數值 (0)
setCount(0);
};

// 回傳 JSX 結構,這就是瀏覽器最終渲染的畫面
return (
<div style={{ padding: '20px', fontFamily: 'sans-serif' }}>
<h1>React useState 範例</h1>

{/* 顯示當前計數狀態 */}
<p>目前計數:{count}</p>

{/* 按鈕區域 */}
<div style={{ marginBottom: '20px' }}>
{/* 綁定點擊事件至 handleIncrement 函式 */}
<button onClick={handleIncrement} style={{ marginRight: '10px' }}>
+1 增加
</button>

{/* 綁定點擊事件至 handleReset 函式 */}
<button onClick={handleReset}>
重置歸零
</button>
</div>

<hr />

{/* 文字輸入區域 */}
<div>
<p>同步顯示輸入內容:{text}</p>
{/* 綁定 onChange 事件,當輸入改變時即時更新 text 狀態 */}
{/* e.target.value 會抓取使用者目前輸入的值 */}
<input
type="text"
value={text}
onChange={(e) => setText(e.target.value)}
placeholder="請輸入文字..."
/>
</div>
</div>
);
}

export default CounterApp;
留言
avatar-img
梧笙 WuSheng 的沙龍
67會員
36內容數
⛰️ 梧笙,意即「吾生」,我是一個平凡的理工宅男。 生活離不開 Code 與 Game,這裡主要紀錄與分享: 📖 學習筆記|紀錄我學習過的電腦技能與知識。 💻 科技新知|整理實用工具與科技領域的資訊。 🎮 電玩娛樂|聊聊遊戲動漫與實況直播的話題。 目前更新頻率不固定,有興趣歡迎追蹤。
2026/04/30
列表渲染是指利用 JavaScript 的陣列方法,將一組資料動態轉換為對應的 JSX 元素。用於處理重複性結構,例如:留言板、商品清單等,能大幅減少重複程式碼。
2026/04/30
列表渲染是指利用 JavaScript 的陣列方法,將一組資料動態轉換為對應的 JSX 元素。用於處理重複性結構,例如:留言板、商品清單等,能大幅減少重複程式碼。
2026/04/30
屬性 (Props) 是 React 元件之間傳遞資料的機制,由父元件傳給子元件,具有唯讀性。它是實現組件化開發的核心,確保介面能根據外部傳入的參數動態渲染不同內容。
2026/04/30
屬性 (Props) 是 React 元件之間傳遞資料的機制,由父元件傳給子元件,具有唯讀性。它是實現組件化開發的核心,確保介面能根據外部傳入的參數動態渲染不同內容。
2026/04/29
元件 (Components) 是將使用者介面拆解成獨立、可重用的程式碼區塊,透過組合多個元件,開發者能像堆疊樂高積木一樣,快速建構出複雜且易於維護的網頁介面。
2026/04/29
元件 (Components) 是將使用者介面拆解成獨立、可重用的程式碼區塊,透過組合多個元件,開發者能像堆疊樂高積木一樣,快速建構出複雜且易於維護的網頁介面。
看更多
你可能也想看
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
在 React 的世界裡,Props 負責從父元件向子元件傳遞資料,而 State 則是負責管理元件自身的內部資料。 State 就像元件的記憶,可以儲存元件的狀態,並根據狀態的變化來更新 UI。
Thumbnail
在 React 的世界裡,Props 負責從父元件向子元件傳遞資料,而 State 則是負責管理元件自身的內部資料。 State 就像元件的記憶,可以儲存元件的狀態,並根據狀態的變化來更新 UI。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
在 React 的世界裡,元件 (Component) 扮演著至關重要的角色。它們是構成使用者介面 (UI) 的基本 building blocks,如同積木一般,可以組合成複雜的應用程式。
Thumbnail
在 React 的世界裡,元件 (Component) 扮演著至關重要的角色。它們是構成使用者介面 (UI) 的基本 building blocks,如同積木一般,可以組合成複雜的應用程式。
Thumbnail
在 React 的世界裡,元件 (Component) 就像一個個獨立的個體,各自負責 UI 的一部分,要讓這些個體協同工作,就需要一種溝通的機制,而 Props 就是組件之間通信和數據傳遞的主要方式。
Thumbnail
在 React 的世界裡,元件 (Component) 就像一個個獨立的個體,各自負責 UI 的一部分,要讓這些個體協同工作,就需要一種溝通的機制,而 Props 就是組件之間通信和數據傳遞的主要方式。
Thumbnail
React 事件處理:讓網頁動起來~ 網頁的互動性是吸引使用者、提供良好體驗的關鍵。 在 React 中,透過監聽使用者的操作(例如點擊、滑鼠移動、鍵盤輸入),並執行相應的程式碼,來實現豐富的互動效果。
Thumbnail
React 事件處理:讓網頁動起來~ 網頁的互動性是吸引使用者、提供良好體驗的關鍵。 在 React 中,透過監聽使用者的操作(例如點擊、滑鼠移動、鍵盤輸入),並執行相應的程式碼,來實現豐富的互動效果。
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News