@wordpress/components
Version:
UI components for WordPress.
36 lines (30 loc) • 767 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useLatestRef = useLatestRef;
var _element = require("@wordpress/element");
var _compose = require("@wordpress/compose");
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Creates a reference for a prop. This is useful for preserving dependency
* memoization for hooks like useCallback.
*
* @see https://codesandbox.io/s/uselatestref-mlj3i?file=/src/App.tsx
*
* @param value The value to reference
* @return The prop reference.
*/
function useLatestRef(value) {
const ref = (0, _element.useRef)(value);
(0, _compose.useIsomorphicLayoutEffect)(() => {
ref.current = value;
});
return ref;
}
//# sourceMappingURL=use-latest-ref.js.map