UNPKG

monday-ui-react-core

Version:

Official monday.com UI resources for application development in React.js

26 lines (20 loc) 622 B
import { MutableRefObject, useCallback, useRef } from "react"; export default function useRefWithCallback( onMount: (element: HTMLElement) => void, onUnmount?: (element: HTMLElement) => void ): [MutableRefObject<HTMLElement>, (node: HTMLElement) => void] { const nodeRef = useRef(null); const setRef = useCallback( (node: HTMLElement) => { if (nodeRef.current && onUnmount) { onUnmount(nodeRef.current); } nodeRef.current = node; if (nodeRef.current && onMount) { onMount(nodeRef.current); } }, [onMount, onUnmount] ); return [nodeRef, setRef]; }