React Hook 之 State Hook
阿新 • • 發佈:2020-08-08
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
setCount
。我們可以通過 setCount
來更新 count
的值。這裡的
count
和 setState
相當於 class 裡面的 this.state.count
和 this.setCount
。不過,注意,hook裡面,這兩個值需要成對的獲取。
函式中使用變數 count
直接讀取即可,例如:
<b> {count} </b>
。
函式中更新變數。
<button onClick={() => setCount(count+1)}>加1</button>
在需要更新的地方呼叫方法即可。
const [count, setCount] = useState(0)
上面的寫法叫做 陣列解構。這意味著我們同時建立了兩個變數:count、setCount。count 是 useState 返回的第一個值,setCount 是返回的第二個值。