import { ReactNode, useCallback, useRef } from 'react' export const useRefCallback = () : [T | null, (arg: T) => void] => { const ref = useRef(null); const setRef = useCallback((val: T) => { console.log(val); if (ref.current) { // does something? } if (val) { // also does something? } ref.current = val }, []) return [ref.current, setRef] }