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