Learn How to Use React useState Hook
The useState hook is one of the most fundamental and widely used hooks in React. It allows you to add state to functional components, which was previously only possible in class components. With the useState hook, you can easily manage dynamic values in a component, which makes React more powerful and flexible for handling user interactions and data updates.
Below is an explanation of how to use the useState hook effectively, along with an optimized example.
What is the useState Hook?
The useState hook is used to declare state variables in functional components. It returns two things:
- State Variable: This holds the current state value.
- State Setter Function: A function that allows you to update the state.
Syntax of
useStateHook:const [state, setState] = useState(initialValue);
state: The current state value.setState: A function that updates the state.initialValue: The value that the state will be initialized with.
How does
useStatework?- When you call
useState, it initializes the state with the providedinitialValue. - Whenever the state changes (i.e., when you call
setState), the component re-renders with the new state. - You can use the state variable to display values in the UI and use the state setter function to update the state based on user actions or events.
Basic Example:
Here’s a simple example where we use the
useStatehook to create a counter:App.js:
import React, { useState } from 'react'; function App() { // Declare a state variable named 'count' and initialize it with 0 const [count, setCount] = useState(0); // Function to increment the count const incrementCount = () => { setCount(count + 1); // Update the state with the incremented value }; // Function to decrement the count const decrementCount = () => { setCount(count - 1); // Update the state with the decremented value }; return ( <div> <h1>React useState Hook Example</h1> <p>Current Count: {count}</p> <button onClick={incrementCount}>Increment</button> <button onClick={decrementCount}>Decrement</button> </div> ); } export default App;How Does
useStateTrigger Re-renders?React components re-render automatically whenever the state is updated. In the example above:
- When the user clicks the “Increment” button, the
incrementCountfunction is called, andsetCountis invoked with a new value. React then re-renders the component to reflect the updatedcount. - React handles the DOM updates efficiently, only changing the parts of the UI that are affected by the state change.