React State

React state is a key feature of the React JavaScript library that enables developers to create dynamic and interactive user interfaces. In this tutorial, we’ll explore what React state is, how it works, and provide an example of using state in a functional component.

What is React state?

React state is a JavaScript object that represents a component’s internal state. It stores data relevant to the component and can be changed over time, typically in response to user actions or other events.

The state of a component can be accessed using the useState hook in functional components or the setState method in class components. When the state of a component changes, React automatically updates the component’s view to reflect the new state.

How does React state work?

In functional components, the state is managed using the useState hook. The useState hook is a function that takes an initial state value and returns an array with two elements: the current state value and a function to update the state value.

Here’s an example of using the useState hook to manage state in a simple counter component:

import { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  const handleIncrement = () => {
    setCount(count + 1);

  return (
      <p>Count: {count}</p>
      <button onClick={handleIncrement}>Increment</button>

In this example, the useState hook is used to define the count state variable with an initial value of 0. The setCount function is used to update the value of count when the user clicks the “Increment” button.

We define a function handleIncrement to update the state of count. When the button is clicked, this function is called, which in turn calls setCount with the new value of count (which is count + 1).

Finally, we render the current value of count and the “Increment” button using JSX. When the user clicks the “Increment” button, the state is updated and the component is re-rendered with the new value of count.

Best practices for using React state

Here are some best practices for using React state:

  1. Use state sparingly: You should use state sparingly. Only use the state for data that needs to be updated dynamically or affects the UI.
  2. Avoid mutating state directly: You should always use the state updater function returned useState to update the state in the components. Directly mutating the state variable can cause unexpected behaviour.
  3. Use destructuring: When using the useState hook, it’s common to use destructuring to assign the state value and the state updater function to separate variables. This can make your code more readable.
  4. Keep state localized: It’s a good practice to keep the state localized to the component that uses it. Avoid sharing states between components or using global states unless necessary.


React state is a powerful feature that allows developers to create dynamic and interactive user interfaces. In functional components, the state is managed using the useState hook, which provides a concise and readable way to manage the component state. You can create scalable and maintainable React applications by following best practices for using state effectively.

Scroll to Top