blessing-skin-server/resources/assets/src/scripts/hooks/useMount.ts
2022-02-13 12:09:08 +08:00

21 lines
480 B
TypeScript

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