Same Component, New Data
Part of the Fundamentals section of Coddy's React journey — lesson 19 of 42.
Put reuse and props together and you get the real pattern: one component, rendered many times with different data.
function Badge({ label }) {
return <span>{label}</span>;
}
<Badge label="New" />
<Badge label="Sale" />
<Badge label="Hot" />Three badges, three labels, one definition. Every list, menu, feed and gallery you've ever seen on the web is this pattern (later we'll even generate the copies from an array).
Challenge
EasyShip the shop's promo badges.
- Make
Badgereceive alabelprop and render it inside its<span>. - Inside
<div id="badges">render two badges: first with labelNew, then with labelSale.
Try it yourself
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="styles.css" />
</head>
<body>
<div id="root"></div>
<script type="module" src="main.jsx"></script>
</body>
</html>This lesson includes a short quiz. Start the lesson to answer it and track your progress.
All lessons in Fundamentals
2JSX Expressions
Curly BracesMath in BracesBraces in AttributesCalling Functions in JSXRecap: JSX Expressions5State & Events
What Is State?Click CounterCount in StepsToggle with StateIndependent StateRecap: State & Events8Project: Profile Card
Step 1: Card StructureStep 2: Card with PropsStep 3: Like ButtonStep 4: Follow Toggle