如果有錯誤,歡迎留言指教~ Q_Q
如果要 render 畫面,就要設定 useState,而不是一般的變數
因為當 state 改變時, component 就會被重新 render
重新 render 後, state 會被保留在 component 裡面,不會消失
const [state, setState] = useState(initialState);
useState 會回傳一組 array: [目前的 state, 更新 state 的 function]
useState就類似在 class 中this.state和this.setState的用法。
但在 function component 中,我們沒有this,所以我們沒辦法指定或讀取this.state。
我們最好~~~ 在一開始先給個初始值 -> 這樣才一看就知道型態了呀!
如果是 number 就給他 number,如果是 Boolean 就給 ture 或 false
當然他也可以是一組 object{} 或是 array[] -> 你可以把相關的資料設定在一起
const [age, setAge] = useState(18);
const [isCheckOut, setIsCheckOut] = useState(false);
const [drinkOrder, setDrinkOrder] = useState({
    name: '',
    buyer: '',
    options: '',
  })
當拆很多個 state 在元件裡,每一個 state 更新就 render,就很容易被過度重新渲染
// -> 不好
const [isLoggedIn,setIsLoggedIn] = useState()
const [currentUser,setCurrentUser] = useState()
const [authToken,setAuthToken] = useState()
// -> 較佳
const [authState,setAuthState] = useState({
    isLoggedIn: true,
    currentUser: 'sharon',
    authToken: 'xxx',
})
但不要直接將 props 進來的值,當作初始值 >>>>
命名規範: [sharon, setSharon] = useState(initialSharon)
ref: