New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@custom-react-hooks/use-effect-once

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@custom-react-hooks/use-effect-once

`useEffectOnce` is a custom hook in React designed to mimic the behavior of `componentDidMount` and `componentWillUnmount` lifecycle methods in class components. It's a modified version of `useEffect` that runs only once when the component mounts.

latest
Source
npmnpm
Version
1.5.1
Version published
Weekly downloads
1.5K
-3.55%
Maintainers
1
Weekly downloads
 
Created
Source

useEffectOnce Hook

useEffectOnce is a custom hook in React designed to mimic the behavior of componentDidMount and componentWillUnmount lifecycle methods in class components. It's a modified version of useEffect that runs only once when the component mounts.

Features

  • Single Execution: The hook executes the provided effect function once upon the component's initial render.
  • Cleanup Capability: It supports an optional cleanup function, returned from the effect, which is called when the component unmounts.
  • SSR Compatibility: As an extension of useEffect, it is naturally compatible with server-side rendering environments.

Installation

Choose and install individual hooks that suit your project needs, or install the entire collection for a full suite of utilities.

Installing Only Current Hooks

npm install @custom-react-hooks/use-effect-once

or

yarn add @custom-react-hooks/use-effect-once

Installing All Hooks

npm install @custom-react-hooks/all

or

yarn add @custom-react-hooks/all

Importing the Hook

The useEffectOnce hook must be imported using a named import as shown below:

Named Import:

import { useEffectOnce } from '@custom-react-hooks/use-effect-once';

This approach ensures that the hook integrates seamlessly into your project, maintaining consistency and predictability in how you use our package.

Usage

import React from 'react';
import { useEffectOnce } from '@custom-react-hooks/all';

const EffectOnceComponent = () => {
  const [fibonacciSequence, setFibonacciSequence] = useState([]);

  const calculateFibonacci = (n) => {
    let sequence = [0, 1];
    for (let i = 2; i < n; i++) {
      sequence[i] = sequence[i - 1] + sequence[i - 2];
    }
    return sequence.slice(0, n);
  };

  useEffectOnce(() => {
    const sequence = calculateFibonacci(5);
    setFibonacciSequence(sequence);
  });

  return (
    <div>
      <p>First {5} numbers in the Fibonacci sequence:</p>
      <ul>
        {fibonacciSequence.map((number, index) => (
          <li key={index}>{number}</li>
        ))}
      </ul>
    </div>
  );
};

export default EffectOnceComponent;

In this example, useEffectOnce is used to perform actions at the mounting and unmounting phases of MyComponent.

API Reference

Parameters

  • effect: A function that will be executed once when the component mounts. This function can optionally return a cleanup function, which will be executed when the component unmounts.

Use Cases

  • Initial Setup: Perform setup operations like fetching initial data or setting up listeners.
  • One-time Calculations: Compute values needed only once during the component's lifecycle.
  • Single API Calls: Make a single API call when a component is rendered for the first time.
  • Non-Recurring Subscriptions: Subscribe to a service or event listener that should only be initialized once.

Contributing

Contributions to enhance useEffectOnce are always welcome. Feel free to submit issues or pull requests to the repository for further improvements.

FAQs

Package last updated on 18 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts