ReactJS

ReactJS | useEffect Hook with Example

Hello React Learners,

Today we will learn about React useEffect hook. This tutorial will cover, What are hooks in react? What is useEffect hook in React? And an example of useEffect React hooks.

So let’s discover React js useEffect Hook.

What are Hooks in React?

ReactJS hooks allow using additional react features like managing state and performing after effect. React hook function allows using react features without writing a class. ReactJS hooks are backward-compatible. In version 16.8, ReactJS hooks were added.

Rules of Hooks in React:

  • Only call Hooks inside React function components.
  • Only call Hooks at the top level of a component.
  • Hooks must not be conditional.

So you got the idea about ReactJS hooks, now let us learn about React useEffect hook.

useEffect Hook in React

  • You can perform side effects in your components with the help of useEffect hook.
  • Side effects like fetching data, directly updating the DOM, and setting up timers can be performed using useEffect in react.
  • Comparing with React class lifecycle methods, you can consider useEffect Hook as componentDidMount, componentDidUpdate, and componentWillUnmount combined.

useEffect hook React accepts two arguments. The second argument is optional.

useEffect(<function>, <dependency>)

Firstly, you need to import useEffect hook in React

import {useEffect } from "react";

Runs on every render

useEffect(( ) => {
});

Runs only on the first render

useEffect(( ) => {
}, [ ]);

Runs on the first render And any time any dependency value changes

useEffect(( ) => {
}, [prop, state]);

Effect Cleanup

  • Some effects require cleanup to reduce data breach.
  • Timeouts, subscriptions, event listeners, and other effects that are no longer needed should be disposed of.
  • We do this by including a return function at the end of the useEffect Hook in React.
useEffect(( ) => {
   effect
   return ( ) => {
       cleanup
   }
}, [input])

Example of React useEffect

import { useState, useEffect } from "react";
import ReactDOM from "react-dom/client";
function Counter() {
    const [count, setCount] = useState(0);
    const [calculation, setCalculation] = useState(0);
    useEffect(() => {
        setCalculation(() => count * 2);
    }, [count]); // <- add the count variable here
    return (
    <>
        <p>Count: {count}</p>
        <button
        onClick={() => setCount((c) => c + 1)}
        >+</button>
        <p>Calculation: {calculation}</p>
     </>
     );
}

Conclusion:

Hope you got the clear idea about React hooks useEffect. If you face any problem, you can ask me in the comment box or Hire a React Developer. Share the tutorial with your friends and stay in touch to learn more about ReactJS.

Happy Coding!

Click to rate this post!
[Total: 7 Average: 4.3]
Bharat Desai

Bharat Desai is a Co-Founder at MageComp. He is an Adobe Magento Certified Frontend Developer ? with having 8+ Years of experience and has developed 150+ Magento 2 Products with MageComp. He has an unquenchable thirst to learn new things. On off days you can find him playing the game of Chess ♟️ or Cricket ?.

View Comments

  • This post is a lifesaver for React newbies like me! The way it walks through the useEffect hook with a real example makes it click instantly. Thanks for breaking down the complexity and making it feel like a piece of cake. Now I'm all set to level up my React game!

  • Great post! Thanks for writing such a helpful and informative post about the useEffect hook in ReactJS. I've been working with this framework for a while now, but I still find some of the more advanced concepts to be a bit confusing. Your examples and explanations really cleared things up for me and helped me to better understand how and when to use useEffect. I especially appreciate that you included code snippets to illustrate your points - seeing the actual syntax in action makes it so much easier to grasp.

Recent Posts

Improving Error Handling and Transition Management in Remix with useRouteError and useViewTransitionState

In modern web development, seamless navigation and state management are crucial for delivering a smooth…

3 days ago

Magento Open Source 2.4.8-Beta Release Notes

Magento Open Source 2.4.8 beta version released on October  8, 2024. The latest release of…

5 days ago

How to Create Catalog Price Rule in Magento 2 Programmatically?

Hello Magento Friends, Creating catalog price rules programmatically in Magento 2 can be a valuable…

5 days ago

Top 10 Tips to Hire Shopify Developers

As the world of eCommerce continues to thrive, Shopify has become one of the most…

1 week ago

Managing Browser Events and Navigation in Shopify Remix: useBeforeUnload, useHref, and useLocation Hooks

Shopify Remix is an innovative framework that provides a streamlined experience for building fast, dynamic,…

1 week ago

Ultimate Guide to Hiring a Top Shopify Development Agency

Building a successful eCommerce store requires expertise, and for many businesses, Shopify has become the…

1 week ago