網站搜尋

javascript - 如何使用 setState() 的回調函數?


我正在嘗試使用 setState() 的回呼函數來檢查狀態是否正確更改。然而,我得到一個錯誤 預期 1 個參數,但得到了 2 個。

   setCurrentLength(300, () => {
      console.log('Current length ', currentLength);
   });

如何解決它?謝謝

答案#1

你正在為 setState 使用回呼函數。但你正在使用 useState 鉤子。

對此應該使用 useEffect 並帶上依賴陣列,這樣每當 currentLength 改變時,你的 console.log 就會被執行。

useEffect(()=>{
  console.log('Current length ', currentLength);
}, [currentLength]);