1. 程式人生 > 實用技巧 >React Hook 之 State Hook

React Hook 之 State Hook

Hook 在 class 內部是不起作用的,但你可以使用它們來取代 class。

Hook 是一個特殊的函式,它可以讓你 “鉤入” React 的特性。useState 就是在函式元件中 使用 state 特性的 Hook。

import React, { useState } from 'react'

function Example() {
      const [count, setCount] = useState(0)
}

上面程式碼,首先引入了 state 的 hook,然後在函式內 聲明瞭一個變數 count,然後 useState 賦給這個變數初始值 0。這裡的初始值可以是任何資料型別。如果想要再宣告一個變數,再呼叫一次即可。useState

返回值為,當前state以及更新state的函式。即 setCount。我們可以通過 setCount 來更新 count 的值。
這裡的 countsetState 相當於 class 裡面的 this.state.countthis.setCount。不過,注意,hook裡面,這兩個值需要成對的獲取。

函式中使用變數 count 直接讀取即可,例如:
<b> {count} </b>

函式中更新變數。

<button onClick={() => setCount(count+1)}>加1</button>

在需要更新的地方呼叫方法即可。

const [count, setCount] = useState(0)

上面的寫法叫做 陣列解構。這意味著我們同時建立了兩個變數:count、setCount。count 是 useState 返回的第一個值,setCount 是返回的第二個值。