Skip to content

Instantly share code, notes, and snippets.

@sturmenta
Created September 30, 2024 17:52
Show Gist options
  • Select an option

  • Save sturmenta/993fa19f72103e77fc7161ca0ff1c7de to your computer and use it in GitHub Desktop.

Select an option

Save sturmenta/993fa19f72103e77fc7161ca0ff1c7de to your computer and use it in GitHub Desktop.

Revisions

  1. sturmenta created this gist Sep 30, 2024.
    12 changes: 12 additions & 0 deletions useOnlyCallOnce.ts
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,12 @@
    import { useEffect, useRef } from 'react';

    export const useOnlyCallOnce = (cb, condition = true) => {
    const isCalledRef = useRef(false);

    useEffect(() => {
    if (condition && !isCalledRef.current) {
    isCalledRef.current = true;
    cb();
    }
    }, [cb, condition]);
    };