react-signature-canvas-ts
Version:
A React wrapper component around signature_pad. Unopinionated and heavily updated fork of react-signature-pad
23 lines (17 loc) • 491 B
text/typescript
import { ForwardedRef, MutableRefObject, useEffect, useRef } from "react";
export const useCombinedRefs = <T>(
...refs: (MutableRefObject<T | undefined> | ForwardedRef<T>)[]
) => {
const targetRef = useRef<T | null>(null);
useEffect(() => {
refs.forEach((ref) => {
if (!ref) return;
if (typeof ref === "function") {
ref(targetRef.current || null);
return;
}
ref.current = targetRef.current;
});
}, [refs]);
return targetRef;
};