🟨 React
Легкая
🕐 1 story point

React: Карточки товаров через map

Создай список карточек товаров из массива products с помощью Array.map. Компонент должен быть статичным — никакого состояния, только пропсы и рендер массива.

Александр, тимлид React-стажировки

Рендер списков — хлеб фронтенда. Преобразуй массив товаров в список карточек. Каждая карточка показывает название и цену.

Что нужно сделать

  1. Создай компонент ProductCard с пропсами title и price.
  2. В App отрендери массив products через map.
  3. Используй key={product.id} при рендере элементов списка.
  4. Разметка:
    • <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} />).
  • Ключ обязателен для стабильного рендера списков.
  • Документация: react.dev/learn/rendering-lists
👀 Решение
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 эффективно обновлять список.

Финальный результат должен быть таким:

Финальный результат

🧑‍💻 Это не баг! Это фича!

Редактор кода намеренно скрыт на мобильном.

Поверь, так лучше: я оберегаю тебя от искушения писать код в неидеальных условиях. Маленький экран и виртуальная клавиатура — не лучшие помощники для программиста.

📖 Сейчас: Изучи задачу, продумай решение. Действуй как стратег.

💻 Потом: Сядь за компьютер, открой сайт и реализуй все идеи с комфортом. Действуй как код-джедай!