#how_to додати більше одного ref до елемента в React? 👀
function mergeRefs<T = unknown>(
...refs: (React.MutableRefObject<T> | React.LegacyRef<T>)[]
): React.RefCallback<T> {
return function (value) {
refs.forEach((ref) => {
if (typeof ref === 'function') {
ref(value)
} else if (ref !== null) {
;(ref as React.MutableRefObject<T | null>).current = value
}
})
}
}
// Example
const forwardedRef: React.ForwardedRef<HTMLInputElement>
const localRef = useRef<HTMLInputElement>()
<input ref={mergeRefs(forwarderRef, localRef)} />
👍6❤3
👍5❤2