@wordpress/components
Version:
UI components for WordPress.
27 lines (25 loc) • 643 B
JavaScript
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
import { useRef } from '@wordpress/element';
import { useIsomorphicLayoutEffect } from '@wordpress/compose';
/**
* 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.
*/
export function useLatestRef(value) {
const ref = useRef(value);
useIsomorphicLayoutEffect(() => {
ref.current = value;
});
return ref;
}
//# sourceMappingURL=use-latest-ref.js.map