React hooks 不能拿到最新的setState的值


在class中 想要拿到setState 最新的值 直接通過


this.setState({ currentIndex: '我就是最新的值啦啦啦啊'})

但是在 react hooks 中 setState 拿到的是上一次的緩存

---------- Capture Value 特性


 // 查詢條件
  const onSearch = () => {
    let param = {
      list_type: currentIndex ------- 這里 取到上一次的值
    }

    props.getList(param)
  }

  const tabChoiced = (id) => {

    setCurrentIndex(id) ------ 這里設置最新值
    onSearch()
  }

解決辦法

第一種 直接傳進去

第二種

放在 useEffect 里傳入 更新即調用


useEffect(()=>{

  setCurrentIndex(id)

},[id])


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM