@pastable/react
Version:
20 lines (15 loc) • 533 B
text/typescript
import { useEffect } from "react";
import { useIsMountedRef } from "./useIsMounted";
/**
* React effect hook that invokes only on update.
* It doesn't invoke on mount
* @see Adapted from https://github.com/chakra-ui/chakra-ui/blob/main/packages/hooks/src/use-update-effect.ts
*/
export const useUpdateEffect: typeof useEffect = (effect, deps) => {
const isMountedRef = useIsMountedRef();
useEffect(() => {
if (!isMountedRef.current) return;
effect();
}, deps);
return isMountedRef.current;
};