React
State
Props
JavaScript
Frontend Development
Web Development
Component Lifecycle

Understanding State and Props in React

Listen to article
Deepak Tewatia
September 25, 2025
3 min read

Introduction

In React, state and props are key ideas that help build user interfaces. Knowing how to use both of these features is crucial for creating better React applications and managing information smoothly.

What is State?

State is data that can change over time. It's like a storage area that holds information related to a component. When the state changes, React automatically updates the user interface to reflect those changes. This means that when a user interacts with your app, like typing or clicking a button, the state can update to show the new information.

How to Use State

To use state in a component, you typically use the useState hook. This hook allows you to add state to a functional component. Here’s a simple example:

<code class="javascript">import React, { useState } from 'react';

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

    return (
        <div>
            <p>You clicked {count} times</p>
            <button onClick={() => setCount(count + 1)}>
                Click me
            </button>
        </div>
    );
}

In this example, useState(0) initializes the state variable count with a value of 0. The function setCount is used to update the count whenever the button is clicked.

What are Props?

Props, short for properties, are another way to manage data in React. They allow you to pass data from one component to another. Think of props as the arguments you give to a function. When a parent component wants to send data to a child component, it uses props.

How to Use Props

To use props, you simply define them in a child component and pass values from a parent component. Here’s an example:

<code class="javascript">function Greeting(props) {
    return <h2>Hello, {props.name}!</h2>;
}

function App() {
    return <Greeting name="Alice" />;
}

In this case, the Greeting component takes a prop called name. When App renders Greeting, it passes "Alice" as the value for the name prop.

Using State and Props Together

State and props can work together to create dynamic components. For example, you might have a parent component that holds state and sends data to a child component through props. Here’s how it could look:

<code class="javascript">function App() {
    const [userName, setUserName] = useState('Alice');

    return (
        <div>
            <input 
                type="text"
                value={userName}
                onChange={(e) => setUserName(e.target.value)}
            />
            <Greeting name={userName} />
        </div>
    );
}

In this example, the user can type a new name in the input box. As they type, the userName state updates, and the Greeting component automatically shows the new name thanks to props.

Best Practices for Using State and Props

  • Keep state local: Only use state where you need it. If a piece of data doesn't need to change, don't use it as state.
  • Avoid props drilling: If you have many layers of components, passing props through many levels can be tricky. Consider using context or state management libraries if you find yourself needing to pass props through many layers.
  • Use descriptive names: Name your state and props clearly to describe their purpose. This makes your code easier to read and understand.

Conclusion

Understanding state and props is essential in React development. State allows your components to be dynamic and reactive to user input, while props help you manage data flow between components. By mastering these concepts, you can create more interactive and user-friendly applications.

For more in-depth information, check out the official React documentation on Components and Props and Using State in React.

Comments

Y
You
Commenting
0/2000
Loading comments…