In React.js, props (short for properties) are a mechanism for passing data from a parent component to a child component. Props allow you to customize and configure child components, making them dynamic and reusable. To use props in React, you follow these steps:
Define Props in a Parent Component: In the parent component, you can define and pass props to the child component when rendering it.
Access Props in the Child Component: In the child component, you can access the props passed to it and use them as needed.
Example 1: Passing a String Prop
In this example, we'll pass a simple string as a prop from a parent component to a child component.
// ParentComponent.js
import React from 'react';
import ChildComponent from './ChildComponent';
function ParentComponent() {
const greeting = 'Hello from ParentComponent!';
return <ChildComponent message={greeting} />;
}
// ChildComponent.js
import React from 'react';
function ChildComponent(props) {
return <div>{props.message}</div>;
}
export default ChildComponent;
Example 2: Passing Multiple Props
You can pass multiple props to a child component. Here, we'll pass both a name and an age.
// ParentComponent.js
import React from 'react';
import ChildComponent from './ChildComponent';
function ParentComponent() {
return <ChildComponent name="John" age={30} />;
}
// ChildComponent.js
import React from 'react';
function ChildComponent(props) {
return (
<div>
<p>Name: {props.name}</p>
<p>Age: {props.age}</p>
</div>
);
}
export default ChildComponent;
Example 3: Using Props in a List
You can pass props to multiple instances of the same child component, which can be especially useful when rendering lists of items.
// ParentComponent.js
import React from 'react';
import ChildComponent from './ChildComponent';
function ParentComponent() {
const data = ['Item 1', 'Item 2', 'Item 3'];
return (
<ul>
{data.map((item, index) => (
<ChildComponent key={index} item={item} />
))}
</ul>
);
}
// ChildComponent.js
import React from 'react';
function ChildComponent(props) {
return <li>{props.item}</li>;
}
export default ChildComponent;
Example 4: Conditional Rendering with Props
You can use props to conditionally render elements in a child component.
// ParentComponent.js
import React from 'react';
import ChildComponent from './ChildComponent';
function ParentComponent() {
const showComponent = true;
return (
<div>
{showComponent && <ChildComponent message="Render me!" />}
</div>
);
}
// ChildComponent.js
import React from 'react';
function ChildComponent(props) {
return <div>{props.message}</div>;
}
export default ChildComponent;
Example 5: Default Props
You can set default values for props in case they are not provided by the parent component.
// ChildComponent.js
import React from 'react';
function ChildComponent(props) {
return <div>{props.message || 'Default message'}</div>;
}
export default ChildComponent;
In this example, if the parent component doesn't pass a "message" prop, the default message "Default message" will be displayed.
Props are a fundamental concept in React and are essential for creating dynamic and reusable components in your applications. They help you pass data and behavior from parent components to child components, enabling you to build flexible and maintainable UIs.