welcome to XRM blog

Keep in touch with latest CRM/ERP articles

To remain competitive your organisation must be efficient across the business process spectrum. To do so you need to take sound decisions based on a balance between the cost and risk. To do so you will be heavily dependent on your content management in itself needs...

image
Blog

Mastering React Hooks: A Practical Guide with Real-Time Examples

By Mohd Saqib on 2/12/2025

React Hooks have transformed how developers build components by allowing functional components to handle state, side effects, and more — without needing class components. Introduced in React 16.8, Hooks make React code cleaner, reusable, and easier to manage. 

This guide covers the most used React Hooks with practical, real-time examples. 

What Are React Hooks? 

Hooks are built-in functions that let you use features like state, context, refs, and lifecycle methods inside functional components. 

Why Use Hooks? 

  • Simplified State Logic: No need for complex class syntax. 
  • Cleaner Code: Better readability and maintainability. 
  • Code Reuse: Custom Hooks allow reusing logic across components. 

1. useState – Manage Local State 

The useState hook allows you to declare a piece of state in a functional component. It returns a state value and a function to update it. Picture 3, Picture 

Explanation

useState(0) initializes the count state variable to 0. 
When the button is clicked, setCount updates the state, and react re-renders the component to reflect the new value.  

2. useEffect – Handle Side Effects 

useEffect is used to perform side effects like fetching data, updating the DOM, or setting up timers. It runs after every render or when specified dependencies change. Picture 4, Picture 

Explanation
This sets up a timer that updates seconds every 1 second. 
The cleanup function ensures the timer is stopped when the component unmounts, avoiding memory leaks. 

3. useContext – Access Global State 

useContext allows a component to read values from a context without having to pass props through every level of the component tree. Picture 5, Picture 

Use Case: useContext(MyContext) accesses the value provided by MyContext.Provider. 
This is useful for global states like user info, themes, or languages shared across components.  

4. useReducer – Complex State Logic 

useReducer is an alternative to useState when state transitions are more complex. It follows the reducer pattern familiar from Redux. Picture 7, Picture 

Explanation: 
The reducer function defines how to update the state based on the action type. 
This is ideal for managing state with multiple sub-values or complex update logic (e.g., forms or dynamic objects). 

5. useCallback – Memoize Functions 

useCallback returns a memoized version of a function so that it only changes when its dependencies change. This helps prevent unnecessary renders. 

Picture 8, Picture 

Explanation: 
handleClick is memoized so that it doesn't get recreated on every render. 
This is useful when passing functions to child components that use React.memo to avoid re-renders. 

6. useMemo – Optimize Expensive Calculations 

useMemo returns a memoized result of a computation, running the function only when dependencies change. 

Picture 9, Picture 

Explanation: 
The multiplication logic runs only when quantity or price changes, not on every render. 
This improves performance when dealing with complex calculations or large datasets. 

7. useRef – Access DOM or Mutable Values 

useRef lets you access a DOM element or store a mutable value that persists across renders without triggering re-renders. 

Picture 11, Picture 

Explanation: 
inputRef.current gives direct access to the DOM element, allowing you to call. focus () on it. 
It’s also useful for tracking previous values, animation frames, or intervals. 

Conclusion 

React Hooks offer a modern and powerful way to manage state, side effects, and shared logic in your React applications. They improve code readability, promote reusable patterns, and eliminate the need for class-based components. By mastering these hooks, you'll be able to write cleaner and more efficient React code. 

If you're building real-time apps, large dashboards, or reusable UI libraries, hooks will be your best friend! 

#CleanCode
#CodingLife
#DeveloperTips
#FrontendDevelopment
#JavaScript
#React
#ReactBeginners
#ReactHooks
#ReactJS
#useCallback
#useEffect
#useReducer
#useState
#WebDevelopment
Author
Blog Calendar
Blog Calendar List
2025 May  15  2
2025 Apr  33  6
2025 Mar  51  6
2025 Feb  41  6
2024 Nov  11  1
2024 Aug  6  1
2024 Apr  58  4
2024 Mar  149  4
2024 Feb  378  3
2024 Jan  33  7
2023 Dec  38  6
2023 Nov  508  5
2023 Oct  701  12
2023 Sep  1669  9
2023 Aug  511  6
2023 Jul  47  6
2023 Jun  26  4
2023 May  44  5
2023 Apr  78  5
2023 Mar  211  6
2023 Feb  171  5
2023 Jan  77  4
2022 Dec  96  7
2022 Nov  293  2
2022 Sep  13  1
2022 Aug  32  2
2022 Jun  11  2
2022 May  6  2
2022 Apr  12  2
2022 Mar  2  1
2022 Feb  2  1
2022 Jan  1  1
2021 Dec  4  1
2021 Nov  2  1
2021 Oct  2  1
2021 Sep  14  1
2021 Aug  49  5
2021 Jul  51  4
2021 Jun  1796  5
2021 May  42  3
2021 Apr  2249  3
2021 Mar  211  5
2021 Feb  2712  7
2021 Jan  4102  9
2020 Dec  574  7
2020 Sep  80  3
2020 Aug  783  3
2020 Jul  139  1
2020 Jun  98  3
2020 Apr  101  3
2020 Mar  19  2
2020 Feb  34  5
2020 Jan  48  7
2019 Dec  17  4
2019 Nov  40  1
2019 Jan  23  2
2018 Dec  132  4
2018 Nov  68  3
2018 Oct  18  3
2018 Sep  1258  11
2018 Aug  7  2
2018 Jun  20  1
2018 Jan  70  2
2017 Sep  590  5
2017 Aug  17  1
2017 Jul  17  2
2017 Jun  65  2
2017 May  21  1
2017 Apr  39  2
2017 Mar  139  4
2017 Feb  842  4
2016 Dec  207  3
2016 Nov  1009  8
2016 Oct  337  10
2016 Sep  797  6
2016 Aug  39  1
2016 Jun  1892  6
2016 May  114  3
2016 Jan  72  2
2015 Dec  720  6
2015 Nov  4  1
2015 Oct  13  1
2015 Sep  1471  6
2015 Aug  14  1
2015 Jul  129  2
2015 Jun  11  1
2015 May  20  1
2015 Apr  30  3
2015 Mar  80  3
2015 Jan  5350  4
2014 Dec  18  1
2014 Nov  2260  4
2014 Oct  69  1
2014 Sep  107  2
2014 Aug  5331  1
2014 Jul  49  2
2014 Apr  2598  12
2014 Mar  307  17
2014 Feb  223  6
2014 Jan  1510  16
2013 Dec  21  2
2013 Nov  694  2
2013 Oct  256  3
2013 Sep  13  1
2013 Aug  40  3
2013 Jul  214  1
2013 Apr  61  6
2013 Mar  2388  10
2013 Feb  131  3
2013 Jan  351  2
2012 Nov  62  2
2012 Oct  518  10
Tag Cloud
Interested in our services? Still not sure about project details? get a quote