use-once

Helper for react effects that only run once

Usage no npm install needed!

<script type="module">
  import useOnce from 'https://cdn.skypack.dev/use-once';
</script>

README

use-once

A helper for running react effects only once.

Motivation

For beginners, it isn't clear that useEffect(cbk, []) runs only once and that useEffect(cbk) runs every time. Using this package avoids that confusion.

Installation

npm install --save use-once

# Or

yarn add use-once

Usage

import {useOnce} from 'use-once'

function ReactComp(props) {
  useOnce(() => {
    console.log('This will only be run once for each instance of the component, instead of after every update.')

    return () => {
      console.log('Returning a function is optional. The returned function will be called when the component is unmounted.')
    }
  })

  return null
}