Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
primogenial
/
wp-content-20241001222009
/
plugins
/
woocommerce
/
packages
/
woocommerce-blocks
/
assets
/
js
/
base
/
hooks
:
use-shallow-equal.ts
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
/** * External dependencies */ import { useRef } from '@wordpress/element'; import isShallowEqual from '@wordpress/is-shallow-equal'; /** * A custom hook that compares the provided value across renders and returns the * previous instance if shallow equality with previous instance exists. * * This is particularly useful when non-primitive types are used as * dependencies for react hooks. * * @param {*} value Value to keep the same if satisfies shallow equality. * * @return {*} The previous cached instance of the value if the current has shallow equality with it. */ export function useShallowEqual< T >( value: T ): T { const ref = useRef< T >( value ); if ( ! isShallowEqual( value, ref.current ) ) { ref.current = value; } return ref.current; }