React Props and State

In React, props and state are fundamental concepts for managing data within components. Props are used to pass data between components, while state is used to manage data that can change within a component.

1. What are Props?

Props, short for "properties," are read-only attributes that are passed from a parent component to a child component. They allow you to pass data and event handlers to child components.

Here’s an example of using props in a React component:

function Welcome(props) {
    return <h1>Hello, {props.name}!</h1>;
}

// Usage example
<Welcome name="Alice" />

In this example, the name prop is passed to the Welcome component, allowing it to display a personalized greeting.

2. What is State?

State is a built-in object used to store property values that belong to a component. Unlike props, state is managed within the component and can change over time in response to user actions, network responses, or other events.

Here’s an example of a component with state:

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, the count state variable is initialized to 0 and updated every time the button is clicked.

3. Difference Between Props and State

  • Props: Used to pass data from parent to child components. They are read-only and cannot be modified by the child component.
  • State: Managed within the component and can be modified. State allows components to respond to user input or other dynamic factors.

Here’s an example illustrating both props and state in a single component:

import React, { useState } from 'react';

function Greeting(props) {
    const [isLoggedIn, setIsLoggedIn] = useState(false);

    return (
        <div>
            <h1>Hello, {props.name}!</h1>
            <p>{isLoggedIn ? "Welcome back!" : "Please log in."}</p>
            <button onClick={() => setIsLoggedIn(!isLoggedIn)}>Toggle Login</button>
        </div>
    );
}

// Usage example
<Greeting name="Alice" />

Here, props.name is passed from the parent, and isLoggedIn is a state variable that toggles based on user interaction.

4. Updating State

State updates are managed using functions like setState in class components or useState in functional components. When state is updated, React re-renders the component, reflecting the new state values in the UI.

Example of updating state with useState:

const [isVisible, setIsVisible] = useState(true);

function toggleVisibility() {
    setIsVisible(!isVisible);
}

In this example, calling toggleVisibility will toggle the isVisible state, and React will re-render the component with the updated value.

5. Summary

In this tutorial, you learned about props and state in React. Props allow data to be passed between components, while state manages data within a component, enabling dynamic and interactive UIs.

Note: We aim to make learning easier by sharing top-quality tutorials, but please remember that tutorials may not be 100% accurate, as occasional mistakes can happen. Once you've mastered the language, we highly recommend consulting the official documentation to stay updated with the latest changes. If you spot any errors, please feel free to report them to help us improve.

top-home