tabletop-commander/hooks/useRefCallback.ts

22 lines
404 B
TypeScript
Executable File

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