# All files / utils useMountedEffect.ts

25% Statements 2/8
0% Branches 0/1
0% Functions 0/2
25% Lines 2/8

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
    20
    21
    22
    231x

    1x

     import {useEffect, useRef, EffectCallback, DependencyList} from 'react'

    /*
      Behaves like `useEffect`, but won't fire after the initial render of a
      component.
    */
    export const useMountedEffect = (
      effect: EffectCallback,
      inputs?: DependencyList
    ) => {
      const isFirstRender = useRef(true)

      useEffect(() => {
        Iif (isFirstRender.current) {
          isFirstRender.current = false

          return
        }

        return effect()
      }, inputs)
    }