blessing-skin-server/resources/assets/src/scripts/hooks/useMount.ts
2024-02-23 16:58:50 +08:00

21 lines
462 B
TypeScript

import {useEffect, useRef} from 'react';
export default function useMount(selector: string): HTMLElement | undefined {
const container = useRef<HTMLDivElement | undefined>(null);
useEffect(() => {
const mount = document.querySelector(selector)!;
const div = document.createElement('div');
container.current = div;
mount.append(div);
return () => {
div.remove();
container.current = null;
};
}, [selector]);
return container.current;
}