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