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