Создай список карточек товаров из массива
productsс помощьюArray.map. Компонент должен быть статичным — никакого состояния, только пропсы и рендер массива.
Рендер списков — хлеб фронтенда. Преобразуй массив товаров в список карточек. Каждая карточка показывает название и цену.
ProductCard с пропсами title и price.App отрендери массив products через map.key={product.id} при рендере элементов списка.<article class="product-card"><h3 class="product-title"><p class="product-price">Отобрази все товары в сетке карточек. Каждая карточка содержит название и цену.
products.map(p => <ProductCard key={p.id} title={p.title} price={p.price} />).import React from 'react';
import './styles.css';
export function ProductCard({ title, price }) {
return (
<article className="product-card">
<h3 className="product-title">{title}</h3>
<p className="product-price">{price} ₽</p>
</article>
);
}
export default function App() {
const products = [
{ id: 1, title: 'Кофе', price: 299 },
{ id: 2, title: 'Чай', price: 199 },
{ id: 3, title: 'Печенье', price: 149 },
];
return (
<main className="challenge-container">
<section>
<div className="product-grid">
{products.map((p) => (
<ProductCard key={p.id} title={p.title} price={p.price} />
))}
</div>
</section>
</main>
);
}Почему это работает: map преобразует данные в JSX-элементы. Ключи помогают React эффективно обновлять список.
Создай список карточек товаров из массива
productsс помощьюArray.map. Компонент должен быть статичным — никакого состояния, только пропсы и рендер массива.
Рендер списков — хлеб фронтенда. Преобразуй массив товаров в список карточек. Каждая карточка показывает название и цену.
ProductCard с пропсами title и price.App отрендери массив products через map.key={product.id} при рендере элементов списка.<article class="product-card"><h3 class="product-title"><p class="product-price">Отобрази все товары в сетке карточек. Каждая карточка содержит название и цену.
products.map(p => <ProductCard key={p.id} title={p.title} price={p.price} />).import React from 'react';
import './styles.css';
export function ProductCard({ title, price }) {
return (
<article className="product-card">
<h3 className="product-title">{title}</h3>
<p className="product-price">{price} ₽</p>
</article>
);
}
export default function App() {
const products = [
{ id: 1, title: 'Кофе', price: 299 },
{ id: 2, title: 'Чай', price: 199 },
{ id: 3, title: 'Печенье', price: 149 },
];
return (
<main className="challenge-container">
<section>
<div className="product-grid">
{products.map((p) => (
<ProductCard key={p.id} title={p.title} price={p.price} />
))}
</div>
</section>
</main>
);
}Почему это работает: map преобразует данные в JSX-элементы. Ключи помогают React эффективно обновлять список.
Редактор кода намеренно скрыт на мобильном.
Поверь, так лучше: я оберегаю тебя от искушения писать код в неидеальных условиях. Маленький экран и виртуальная клавиатура — не лучшие помощники для программиста.
📖 Сейчас: Изучи задачу, продумай решение. Действуй как стратег.
💻 Потом: Сядь за компьютер, открой сайт и реализуй все идеи с комфортом. Действуй как код-джедай!