useEffect
如果要在effect
中取到最新的prop
、state
,必须得将相应的prop
、state
传入第二个参数数组中。但是如果是取useRef
创建的对象中的值,则不用将ref
传入第二个参数数组,也能获取到ref
中的最新值。所以可以在ref
中记录时间戳。
const timestamp = useRef(0);
useEffect(() => {
... // 执行请求
timestamp.current = new Date().getTime();
return () => {
if(timestamp.current) {
saveTime(new Date().getTime() - timestamp.current);// 请求接口保存时长
}
}
}, []);