Files
chat/client/shared/hooks/useMountedState.ts
2026-04-25 16:36:34 +08:00

19 lines
439 B
TypeScript

import { useCallback, useEffect, useRef } from 'react';
// Reference: https://github.com/streamich/react-use/blob/master/src/useMountedState.ts
export function useMountedState(): () => boolean {
const mountedRef = useRef<boolean>(false);
const get = useCallback(() => mountedRef.current, []);
useEffect(() => {
mountedRef.current = true;
return () => {
mountedRef.current = false;
};
}, []);
return get;
}