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

React: Вынести повторяющийся UI в компонент

Есть повторяющийся UI-блок уведомления. Вынеси его в отдельный компонент MessageCard и используй в App вместо дублирования разметки.

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

Чистый код — меньше дубликатов. Повторяющиеся куски UI легче поддерживать, когда они оформлены как отдельный компонент.

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

  1. Создай MessageCard с пропсами title и text.
  2. Перенеси повторяющуюся разметку в MessageCard.
  3. В App замени три блока на три вызова MessageCard.
  4. Добавь data-testid="message-card" на корневой элемент компонента.
💡 Подсказка
  • Компонент:
    function MessageCard({ title, text }) {
      return (
        <article className="notice" data-testid="message-card">
          <h3 className="notice__title">{title}</h3>
          <p className="notice__text">{text}</p>
        </article>
      );
    }
  • В App:
    <MessageCard title="Успех" text="Операция выполнена" />
👀 Решение
import React from 'react';
import './styles.css';
 
export function MessageCard({ title, text }) {
  return (
    <article className="notice" data-testid="message-card">
      <h3 className="notice__title">{title}</h3>
      <p className="notice__text">{text}</p>
    </article>
  );
}
 
export default function App() {
  return (
    <main className="challenge-container">
      <section>
        <MessageCard title="Успех" text="Операция выполнена" />
        <div style={{ marginTop: 16 }}>
          <MessageCard title="Предупреждение" text="Проверьте введённые данные" />
        </div>
        <div style={{ marginTop: 16 }}>
          <MessageCard title="Ошибка" text="Что-то пошло не так" />
        </div>
      </section>
    </main>
  );
}

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

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

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

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

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

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