UNPKG

@etsoo/react

Version:

TypeScript ReactJs UI Independent Framework

30 lines (29 loc) 739 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useCombinedRefs = useCombinedRefs; /** * Combined refs * @param refs Refs * @returns Callback */ function useCombinedRefs(...refs) { return (target) => { // Ignore null reference if (target == null) return; // Update all refs refs.forEach((ref) => { // Null ref if (!ref) return; // Callback function if (typeof ref === "function") { ref(target); } else { // as any to update readonly property Reflect.set(ref, "current", target); } }); }; }