@gilbarbara/hooks
Version:
Collection of useful React hooks
20 lines (14 loc) • 466 B
text/typescript
import { useState } from 'react';
import { useEffectDeepCompare } from './useEffectDeepCompare';
import { useIsFirstRender } from './useIsFirstRender';
export function useMemoizedValue<T = any>(value: T) {
const [stableValue, setStableValue] = useState(() => value);
const isFirstRender = useIsFirstRender();
useEffectDeepCompare(() => {
if (isFirstRender) {
return;
}
setStableValue(() => value);
}, [value]);
return stableValue;
}