react-transition-preset
Version:
Lightweight, zero-dependency transition component for React with common preset transition
25 lines (22 loc) • 554 B
JavaScript
import { useRef } from 'react';
import { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect.js';
// src/hooks/use-did-update.ts
function useDidUpdate(fn, options) {
const { initialMounted, deps } = options;
const mounted = useRef(initialMounted);
useIsomorphicLayoutEffect(
() => () => {
mounted.current = initialMounted;
},
[]
);
useIsomorphicLayoutEffect(() => {
if (mounted.current) {
fn();
return;
}
mounted.current = true;
return void 0;
}, deps);
}
export { useDidUpdate };