You're working on the UI prototype for an online shop and your task is to output two product items (via the <Product />
component you find in the Product.js
file) below the main page title ("My Demo Shop"
) in the App
component.
The final UI should look like this:
The two product items should use the same component (<Product />
) but output different data (title
, price
& description
). Data should be passed to the components (and output there) via props
.
The first product item is expected to display the following information:
-
Title:
Product 1
-
Price:
10
-
Description:
First product
The second product item is expected to display the following information:
-
Title:
Product 2
-
Price:
20
-
Description:
Second product
import Product from "./Product";
import "./styles.css";
// don't change the Component name "App"
export default function App() {
const products = [
{
title: "Product 1",
price: "10",
description: "First product",
},
{
title: "Product 2",
price: "20",
description: "Second product",
},
];
return (
<div>
<h1>My Demo Shop</h1>
<Product
title={products[0].title}
price={products[0].price}
description={products[0].description}
></Product>
<Product
title={products[1].title}
price={products[1].price}
description={products[1].description}
></Product>
</div>
);
}
export default function Product(props) {
return (
<article className="product">
<h2>{props.title}</h2>
<p className="price">${props.price}</p>
<p>{props.description}</p>
</article>
);
}
body {
font-family: sans-serif;
margin: 0;
padding: 3rem;
background-color: #2d2c2c;
color: #959090;
}
.product {
margin: 1rem 0;
padding: 1rem;
background-color: #373535;
color: #e7e4e4;
border-radius: 8px;
}
.product h2,
.product p {
margin: 0.5rem 0;
}
.price {
font-size: 0.75rem;
color: #bab6b6;
}