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])