Implement somewhat working drag & drop and improve render memoization
This commit is contained in:
16
src/useMergedRefs.ts
Normal file
16
src/useMergedRefs.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
import { MutableRefObject, RefCallback, useCallback } from "react";
|
||||
|
||||
export const useMergedRefs = <T>(
|
||||
...refs: (MutableRefObject<T | null> | RefCallback<T | null>)[]
|
||||
): RefCallback<T | null> =>
|
||||
useCallback(
|
||||
(value) =>
|
||||
refs.forEach((ref) => {
|
||||
if (typeof ref === "function") {
|
||||
ref(value);
|
||||
} else {
|
||||
ref.current = value;
|
||||
}
|
||||
}),
|
||||
refs
|
||||
);
|
||||
Reference in New Issue
Block a user