Files
NapCatQQ/.pnpm-store/v3/files/1a/fce0a4e6ef0a02406e76f00d583eb82c7f3ed31a317b189cccee1138ebe1b82a270ba0b914eb53806abede0cc02b12187201100018336c51d72a2f88605ac3
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

34 lines
808 B
Plaintext

// src/index.ts
import { useCallback, useEffect, useRef, useState } from "react";
function useIsMounted(props = {}) {
const { rerender = false, delay = 0 } = props;
const isMountedRef = useRef(false);
const [isMounted, setIsMounted] = useState(false);
useEffect(() => {
isMountedRef.current = true;
let timer = null;
if (rerender) {
if (delay > 0) {
timer = setTimeout(() => {
setIsMounted(true);
}, delay);
} else {
setIsMounted(true);
}
}
return () => {
isMountedRef.current = false;
if (rerender) {
setIsMounted(false);
}
if (timer) {
clearTimeout(timer);
}
};
}, [rerender]);
return [useCallback(() => isMountedRef.current, []), isMounted];
}
export {
useIsMounted
};