14 lines
394 B
TypeScript
14 lines
394 B
TypeScript
import React from 'react';
|
|
// 通过useRef及useEffect实现 获取最新的state值
|
|
export function useLastState<T>(value: T){
|
|
// 创建ref
|
|
const lastState = React.useRef<T>(value);
|
|
lastState.current = value;
|
|
// 通过useEffect监听value的变化
|
|
const getLastState = React.useCallback(() => lastState.current, []);
|
|
// 返回最新的state值
|
|
return {
|
|
lastState,
|
|
getLastState
|
|
};
|
|
} |