Skip to main content

useLatest

用于获取当前最新值的 hooks。

引入​

import {useLatest} from '@baidu/acud-pro-components';

基本用法​

function App() {
const [count1, setCount1] = useState(0);
const [count2, setCount2] = useState(0);
const latestCountRef = useLatest(count2);

useEffect(() => {
const interval = setInterval(() => {
setCount1(count1 + 1);
setCount2(latestCountRef.current + 1);
}, 1000);

return () => clearInterval(interval);
}, []);


return (
<>
<p>非最新 count: {count1}</p>
<p>最新 count: {count2}</p>
</>
);
}

API​

const latestValueRef = useLatest<T>(value: T): MutableRefObject<T>;