Files
e2b-dev--e2b/hooks/useElement.ts
T
2023-03-26 17:12:17 +00:00

21 lines
434 B
TypeScript

import {
useState,
useCallback,
RefCallback,
} from 'react'
function useElement<T>(cb?: (element: T) => any): [T | undefined, (instance: T | null) => void] {
const [element, setElement] = useState<T>()
const initElementRef = useCallback<RefCallback<T>>((element) => {
if (element !== null) {
cb?.(element)
setElement(element)
}
}, [])
return [element, initElementRef]
}
export default useElement