函數式組件通過使用useState()可以創建自己的狀態
使用:
1、首先從React中引入useState
2、const [state,setState] = useState(initialState),useState的返回值是一個數組,包含兩個值,第一個是所定義的狀態,第二個是設置狀態的函數,相當於類組件里的setState(),useState()傳入一個參數,這個參數作為初始狀態存到state中,如果傳入的是一個回調函數 useState((value)=>value),那么該回調函數會傳入一個值,這個值永遠都是這次更新前的那個狀態值,因此如果該操作是異步的,那么兩種方式的結果可能會有所不同
3、后續要用到狀態里的數據就直接調用state變量就行了,要對狀態進行修改,調用setState()函數就行
注意:[]里面定義的變量名和函數名並不固定,可根據需要自己命名,如以下案例中我點擊按鈕后將輸入框里的值維護到狀態里,實現改名的操作,所以我定義的就是[name,setname]
import React, { useState, useRef } from 'react' export default function UseState() { const [name, setname] = useState('xiaohuang') const myref = useRef() return ( <div>{name} <input type='text' ref={myref} /> <button onClick={() => setname(myref.current.value) }>改名</button> </div> ) }