@chayns-components/core
Version:
A set of beautiful React components for developing your own applications with chayns.
28 lines (27 loc) • 879 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useInitialRenderRef = exports.useCombinedRefs = void 0;
var _react = require("react");
const useCombinedRefs = (...refs) => (0, _react.useCallback)(element => {
refs.forEach(ref => {
if (!ref) return;
if (typeof ref === 'function') {
ref(element);
} else if (typeof ref === 'object' && ref !== null) {
ref.current = element;
}
});
}, [refs]);
exports.useCombinedRefs = useCombinedRefs;
const useIsomorphicLayoutEffect = typeof window !== 'undefined' ? _react.useLayoutEffect : _react.useEffect;
const useInitialRenderRef = initialValue => {
const ref = (0, _react.useRef)(initialValue);
useIsomorphicLayoutEffect(() => {
ref.current = false;
}, []);
return ref;
};
exports.useInitialRenderRef = useInitialRenderRef;
//# sourceMappingURL=ref.js.map