Working with software program implies that you’ll have to take care of knowledge. You’ll take some enter knowledge, do some processing, after which optionally output the ultimate consequence.
In React, we primarily use props
to go knowledge to our elements. The phrase props
is mainly a shorter time period used for properties. You may have seen them in motion in previous couple of tutorials the place we created elements to show details about international locations.
On this tutorial, we are going to concentrate on studying about props
in additional element. This tutorial will merely cowl the fundamentals after which we are going to transfer to extra superior matters later within the collection.
Props are Like Attributes
The best method to perceive props
is to consider them just like the attributes you could go to HTML components throughout internet improvement. Nonetheless, props
are far more superior.
Any prop
can have two components. The primary is the prop identify which is solely the attribute identify. The second is the prop worth which is the worth of that attribute. You possibly can assign as many props
to your part as you want.
There are two guidelines that it’s a must to observe when assigning a reputation to completely different props.
- The prop identify can’t be a reserved key phrase from JavaScript. It’s because the JSX we write will in the end be transformed to JavaScript and utilizing reserved key phrases will mess issues up. Because of this we use
className
as a substitute ofclass
andhtmlFor
as a substitute offor
as prop identify. - The prop names ought to be in camelCase.
As I stated earlier, you may go as many props to a part as you want. Nonetheless, a part shouldn’t be required to make use of all of the props.
You possibly can consider passing props to elements as passing parameters to capabilities. Parts are like capabilities in that sense and similar to you may go any sort of worth as parameter to capabilities, you may go any sort of worth as a prop.
/* let countryElement = ( <Nation identify="United States" capital="Washington, D.C." inhabitants="332 million" /> ); */ let countryElement = Nation({identify: "United States", capital: "Washington D.C.", inhabitants: "332 million"}); let rootElement = doc.getElementById("root"); ReactDOM.createRoot(rootElement).render(countryElement);
Within the above instance, we changed the JSX for our Nation
part with a operate name to Nation
and saved the consequence inside countryElement
. Nonetheless, rendering out countryElement
in the long run gave us the identical consequence.
Props Should be Learn-Solely
A part shouldn’t be supposed to switch the worth of its props. The capabilities or courses that we outline to create our part should preserve the props as read-only. This habits is enforced while you create a React app by working the command:
npx create-react-app your-app
In such circumstances, the next code offers you an error about “identify” being read-only.
operate Nation(props) { props.identify = "Australia"; return ( <div className="container"> <h2 className="country-name">Nation Title: {props.identify}</h2> <p className="inhabitants">Inhabitants: {props.inhabitants}</p> <p className="space">Space: {props.space} km<sup>2</sup></p> </div> ); } export default Nation;
The explanation props should be immutable is as a result of elements are supposed to make use of them to get info from their mother and father. When you really wish to modify some info in a part, utilizing state is your finest wager. State is mainly knowledge that’s maintained inside the part and React will robotically replace the DOM primarily based on any adjustments in state. We are going to be taught extra about that later within the collection.
Take into account that knowledge in React flows from guardian to youngster and so forth additional down the listing.
Remaining Ideas
I hope you now have a primary understanding of props in React. In later tutorials, we are going to talk about tips on how to validate props or present default values for them.