Blog_Banner_Asset
    Homebreadcumb forward arrow iconBlogbreadcumb forward arrow iconFull Stack Developmentbreadcumb forward arrow iconA Beginner’s Guide React Props [With Syntax]

A Beginner’s Guide React Props [With Syntax]

Last updated:
16th Sep, 2020
Views
Read Time
7 Mins
share image icon
In this article
Chevron in toc
View All
A Beginner’s Guide React Props [With Syntax]

React is an MIT-licensed open-source JavaScript library that is used for designing interactive UI for applications. It is a component-based declarative, flexible, and efficient library, making the lives of developers easier. Since it is a component-based library, it divides UI into several individual pieces known as components. These components need to communicate with each other to function appropriately, and that’s when the React props come into the picture.

Check out our free courses to get an edge over the competition. 

What are React Props?

The word “Props” is a keyword in the React library that means properties. They are also sometimes referred to as a global variable or object in React components. React props are similar to arguments in HTML. Some things worth noting about React props are that they always flow in uni-direction, and the data within them are read-only. This makes them immutable, meaning the data flowing from one component cannot be changed in the other. We can understand this with an example of a pure and impure function.

Check out upGrad’s Advanced Certification in DevOps 

Ads of upGrad blog

This is a pure function as it will always give the same output for the same inputs:

function prod(a, b) {

return a * b;

}

This is an impure function as it is manipulating its own input:

function deposit(account, amount){

account.total += amount;

}

Since React props are immutable, the components need to operate as pure functions. That’s the only strict rule in the flexible React library.

Explore our Popular Software Engineering Courses

The Syntax for Passing and Accessing React Props

As mentioned earlier, React props are similar to HTML arguments, and hence to pass or add any props to a component, we can do it similar to passing HTML attributes.

Syntax:

<component_name props_name = “value” />

In the above syntax, ‘component_name’ is the name of the component to which we need to pass props, props_name is the props’ name, and value is the props value.

We can access any props from within the component’s class.

Check out upGrad’s Full Stack Development Bootcamp (JS/MERN)

Syntax:

this.props.props_name;

In the above syntax, this.props is a global object that is used to access any props from within the component’s class, and the props_name is the name of the React props that we want to access.

Read: JavaScript vs JQuery: Difference Between JavaScript and JQuery

Explore Our Software Development Free Courses

How to Use React Props?

There are two different ways to use immutable React props data in any component. These two ways are by adding props to the reactDom.render() function in the main file or by adding data as default props in the component itself. Here’s how to use React props in both the ways:

Using React Props From react.Dom.render() Function

First we need to add props in the component file.

import React from ‘react’; //importing the React library

class Example extends React.component { /* example is the component name which is extending React component class’ properties */

render() {

return (

<div>

<h2>{this.props.firstProp} in h2</h2>

<h3>{this,props.secondProp} in h3</h3>

</div>

);

}

}

export default Example; //exporting the component

Now we need to add value to props via reactDom.render() function in the main file and access it from there.

import React from ‘react’;

import ReactDom from ‘react-dom’;

import Example from ‘./Example.jsx’;

ReactDom.render(<Example firstProp = “This is the firstProp” secondProp = “This is the secondProp”/>, document.getElementById(‘example’));

export default Example;

Results:

This is the firstProp in h2

This is the secondProp in h3

In-Demand Software Development Skills

Using React Props With Default Props in Component Constructor

Add props and their values in the component file.

import React from ‘react’; //importing the React library

class Example extends React.component { /* example is the component name which is extending React component class’ properties */

render() {

return (

<div>

<h2>{this.props.firstProp}</h2>

<h3>{this,props.secondProp}</h3>

</div>

);

}

}

Example.deafultProps = {

firstProp: “This is the firstProp”,

secondProp: “This is the secondProp

}

export default Example; //exporting the component

Accessing the React props from the main file.

import React from ‘react’;

import ReactDom from ‘react-dom’;

import Example from ‘./Example.jsx’;

ReactDom.render(<Example/>, document.getElementById(‘example’));

The outputs for this will be similar to reactDom.render() function usage, except that this time it is done with the help of default props.

Check out: Vue vs React: Difference Between Vue and React

Read our Popular Articles related to Software Development

How to Pass React Props From One Component to Another

The major use of React props is to pass data between components in React. The following example will help us understand how data is passed.

import React from ‘react’;

class Fruit extends React.Component {

render() {

return <h4>I am {this.props.name} in h4</h4>

}

}

class Question extends React.Component {

render() {

return (

<div>

<h3>Which Fruit are you? In h3</h3>

<Fruit name = “Mango” /> //Creating props and assigning a value

</div>

);

}

}

ReactDom.render(<Question />, document.getElementById(‘fruit’));

This will give the following output:

Which Fruit are you? In h3

I am Mango in h4

Using State and Props Together

As we all know that React is a dynamic language, and its flexibility is it’s USP. Hence, using React props all alone is not enough in developing applications. This issue is solved with the help of the state. The state is another React feature that is used for managing data. Let’s see how we can combine React props and state to make our application more interactive and dynamic.

import React from ‘react’;

class Car extends React.Component {

constructor(props) {

super(props);

this.state = {

firstCar: “This is a Mercedes-Benz! In h2”, //assigning value to state

secondCar: “This is a BMW! In h3” //assigning value to state

}

}

render() {

return (

<div>

<FirstCar firstProp = {this.state.firstCar}/> //assigning value to props

<SecondCar secondProp = {this.state.secondCar}/> //assigning value to props

</div>

);

}

}

class FirstCar extends React.Component {

render() {

return (

<div>

<h2>{this.props.firstProp}</h2>

</div>

);

}

}

class SecondCar extends React.Component {

render() {

return (

<div>

<h3>{this.props.secondProp}</h3>

</div>

);

}

}

export default Car;

Now, we need to access data from the main file.

import React from ‘react’;

import ReactDOM from ‘react-dom’;

import Car from ‘./Car.jsx’;

ReactDOM.render(<Car />, document.getElementById(‘car’));

The result:

This is a Mercedes-Benz! In h2

This is a BMW! In h3

Also Read: Difference Between Node JS and React JS

Summing it up

Ads of upGrad blog

The combination of both React props and the state for managing data in the React makes it one of the most useful JavaScript libraries. There are tons of React project ideas out there, and only the developers can give life to them. Therefore, there is an excellent demand for ReactJS developers and an increase in their salary.

If the idea of helping businesses to create applications and working on numerous React projects to get a huge income excites you, then it is time to take action before it gets too late. You can take online courses offered by upGrad to learn everything about React and become a full-stack software developer.

If you’re interested to learn more about react, full-stack development, check out upGrad & IIIT-B’s PG Diploma in Full-stack Software Development which is designed for working professionals and offers 500+ hours of rigorous training, 9+ projects, and assignments, IIIT-B Alumni status, practical hands-on capstone projects & job assistance with top firms.

Profile

Rohan Vats

Blog Author
Software Engineering Manager @ upGrad. Passionate about building large scale web apps with delightful experiences. In pursuit of transforming engineers into leaders.

Frequently Asked Questions (FAQs)

1What is the difference between an app developer and a full-stack developer?

2How can I use PHP for app development?

PHP is a flexible programming language that can be applied to a wide range of app development projects. It features a straightforward syntax that makes it simple to pick up, and it can be used for both back-end and front-end development. A number of PHP frameworks are also available, which can make development easier and faster. It may also be used to create mobile apps utilizing the PhoneGap framework, which is built on PHP. Finally, PHP is a widely used web development language, with a variety of frameworks and tools for building dynamic and responsive websites.

3What is Angular?

Angular is a mobile and desktop web application development framework. It's a TypeScript-based JavaScript framework. Google and the Angular team are in charge of its upkeep. YouTube for Mobile, Google AdWords, and the Google I/O app have all been developed using this. In the same way, Angular can be used to build desktop applications.

Explore Free Courses

Suggested Blogs

Full Stack Developer Salary in India in 2024 [For Freshers &#038; Experienced]
907173
Wondering what is the range of Full Stack Developer salary in India? Choosing a career in the tech sector can be tricky. You wouldn’t want to choose
Read More

by Rohan Vats

15 Jul 2024

SQL Developer Salary in India 2024 [For Freshers &#038; Experienced]
902296
They use high-traffic websites for banks and IRCTC without realizing that thousands of queries raised simultaneously from different locations are hand
Read More

by Rohan Vats

15 Jul 2024

Library Management System Project in Java [Comprehensive Guide]
46958
Library Management Systems are a great way to monitor books, add them, update information in it, search for the suitable one, issue it, and return it
Read More

by Rohan Vats

15 Jul 2024

Bitwise Operators in C [With Coding Examples]
51783
Introduction Operators are essential components of every programming language. They are the symbols that are used to achieve certain logical, mathema
Read More

by Rohan Vats

15 Jul 2024

ReactJS Developer Salary in India in 2024 [For Freshers &#038; Experienced]
902674
Hey! So you want to become a React.JS Developer?  The world has seen an enormous rise in the growth of frontend web technologies, which includes web a
Read More

by Rohan Vats

15 Jul 2024

Password Validation in JavaScript [Step by Step Setup Explained]
48976
Any website that supports authentication and authorization always asks for a username and password through login. If not so, the user needs to registe
Read More

by Rohan Vats

13 Jul 2024

Memory Allocation in Java: Everything You Need To Know in 2024-25
74112
Starting with Java development, it’s essential to understand memory allocation in Java for optimizing application performance and ensuring effic
Read More

by Rohan Vats

12 Jul 2024

Selenium Projects with Eclipse Samples in 2024
43493
Selenium is among the prominent technologies in the automation section of web testing. By using Selenium properly, you can make your testing process q
Read More

by Rohan Vats

10 Jul 2024

Top 10 Skills to Become a Full-Stack Developer in 2024
229999
In the modern world, if we talk about professional versatility, there’s no one better than a Full Stack Developer to represent the term “versatile.” W
Read More

by Rohan Vats

10 Jul 2024

Schedule 1:1 free counsellingTalk to Career Expert
icon
footer sticky close icon