为了账号安全,请及时绑定邮箱和手机立即绑定

react hooks 的 useState 如何获取最新的 state?求解答!

react hooks 的 useState 如何获取最新的 state?求解答!

慕姐8265434 2019-09-09 21:27:13
直接上代码吧,类似于之前class组件this.setState的第二个callback参数importReact,{useState,useEffect}from'react';importfetchDatafrom'services';functionuseList(){const[params,setParams]=useState({});const[data,setData]=useState({});constgetData=()=>{fetchData(params).then(res=>{setData(res);});};useEffect(()=>{getData();},[]);return{params,setParams,data,setData,getData,};}functionFoo(){const{setParams,getData}=useList();consthandleClick=()=>{setParams({mockData:2333333});//如何让getData里params是最新的???getData();};return(clickme);}
查看完整描述

2 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

constgetData=useCallback(()=>{
fetchData(params).then(res=>{
setData(res);
});
},[params,setData]);
                            
查看完整回答
反对 回复 2019-09-09
?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

const{setParams,data,getData}=useList();当data更新时Foo会拿到最新的data的不需要额外做处理
                            
查看完整回答
反对 回复 2019-09-09
  • 2 回答
  • 0 关注
  • 705 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信