react-use
Version:
Collection of React Hooks
22 lines (21 loc) • 719 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var react_1 = require("react");
function useEnsuredForwardedRef(forwardedRef) {
var ensuredRef = react_1.useRef(forwardedRef && forwardedRef.current);
react_1.useEffect(function () {
if (!forwardedRef) {
return;
}
forwardedRef.current = ensuredRef.current;
}, [forwardedRef]);
return ensuredRef;
}
exports.default = useEnsuredForwardedRef;
function ensuredForwardRef(Component) {
return react_1.forwardRef(function (props, ref) {
var ensuredRef = useEnsuredForwardedRef(ref);
return Component(props, ensuredRef);
});
}
exports.ensuredForwardRef = ensuredForwardRef;