All files / hooks use-effect.ts

100% Statements 5/5
100% Branches 2/2
100% Functions 2/2
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19                3x   3x 3x 1x     2x      
import { useEffect, useRef } from 'react';
 
/**
 * Accepts a function that contains imperative, possibly effectful code. (skips initial trigger)
 * @param effect Imperative function that can return a cleanup function
 * @param deps If present, effect will only activate if the values in the list change.
 */
export function useDidUpdateEffect(effect, deps) {
  const didMountRef = useRef(false);
 
  useEffect(() => {
    if (didMountRef.current) {
      return effect();
    }
 
    didMountRef.current = true;
  }, deps);
}