Working with State and Props
In React, state and props are used to manage and pass data between components.
State
State is a built-in concept in React that represents the mutable data that is specific to a component. It allows components to manage and update their own data. Whenever the state of a component changes, React automatically re-renders the component to reflect the updated state.
In the example below, we have a ShoppingCart component that uses state to keep track of the number of items in the shopping cart:
1import React, { useState } from 'react';
2
3function ShoppingCart() {
4 const [itemCount, setItemCount] = useState(0);
5
6 function addToCart() {
7 setItemCount(itemCount + 1);
8 }
9
10 return (
11 <div>
12 <h1>Shopping Cart</h1>
13 <p>Total items: {itemCount}</p>
14 <button onClick={addToCart}>Add to Cart</button>
15 </div>
16 );
17}
18
19export default ShoppingCart;In the example above, we define a ShoppingCart component that uses the useState hook to create a state variable itemCount and a setter function setItemCount. The initial value of itemCount is set to 0.
When the addToCart function is called, it increments the itemCount value by 1 using the setItemCount function. This triggers a re-render of the component, and the updated value of itemCount is displayed in the UI.
Props
Props (short for properties) are used to pass data from a parent component to a child component. They are read-only and cannot be modified by the child component.
Here is an example of a parent component App passing a prop name to a child component Greeting:
1import React from 'react';
2
3function App() {
4 const name = 'John';
5
6 return (
7 <div>
8 <h1>Welcome, {name}!</h1>
9 <Greeting name={name} />
10 </div>
11 );
12}
13
14function Greeting({ name }) {
15 return <p>Hello, {name}!</p>;
16}
17
18export default App;In the example above, the App component passes the name prop to the Greeting component using the syntax {name={name}}. The Greeting component receives the name prop as a parameter and uses it to display a personalized greeting.
By using state and props, you can manage and pass data between components in React, enabling you to build dynamic and interactive user interfaces.
xxxxxxxxxx// Imagine you're building a shopping cart component in a React application, and you want to display the total number of items in the cart. One way to accomplish this is by using state and props.import React, { useState } from 'react';function ShoppingCart() { const [itemCount, setItemCount] = useState(0); function addToCart() { setItemCount(itemCount + 1); } return ( <div> <h1>Shopping Cart</h1> <p>Total items: {itemCount}</p> <button onClick={addToCart}>Add to Cart</button> </div> );}export default ShoppingCart;


