Пошаговый сценарий, как через ИИ аккуратно улучшить React / Next.js компонент без потери текущей логики, UI и поведения.
Готовый маршрут: что показать ИИ, как усилить задачу и как получить более production-похожий результат.
Эта тема уже выходит за рамки простого шаблона. Здесь можно показать не только шаги, но и более глубокую подачу: как выбирать уровень рефакторинга, как не сломать логику, как просить у ИИ production-похожий код и как проверять результат.
Такой формат хорошо подходит для важных тем, которые должны выглядеть как самостоятельные страницы продукта, а не как просто блок с текстом.
Этот блок можно заменить на полноценный media-компонент.
Сначала вставляем код целиком и сразу задаём правильную рамку, чтобы ИИ не начал ненужный редизайн и не ломал текущую логику.
Ты — сильный senior frontend-разработчик. Я дам тебе React / Next.js компонент. Нужно провести аккуратный рефакторинг. Требования: - не ломать текущую бизнес-логику - сохранить существующий UI и UX - улучшить читаемость кода - убрать дублирование - выделить переиспользуемые части - не вносить лишние изменения, которых я не просил - если находишь риск поломки, сначала кратко объясни его - итоговый код должен быть готов к вставке в проект Формат ответа: 1. Что именно стоит улучшить 2. Какие части можно вынести 3. Финальный код целиком
Если компонент уже используется в проекте, важно прямо попросить сохранить текущее поведение, пропсы и совместимость.
Дополнительные требования: - не менять визуальное поведение компонента - сохранить текущие названия пропсов, если это возможно - не ломать существующие обработчики и интеграции - если предлагаешь разбить код на части, покажи полный итоговый набор файлов - код должен быть готов к вставке в проект без недостающих частей
На этом этапе переводим ответ в более практичный формат: меньше теории, больше готового кода и структурных решений.
Теперь приведи итог к production-похожему виду. Нужно: - финальный код без воды - понятная структура - без лишних теоретических объяснений - если появляются новые компоненты или хелперы — покажи их полностью - итог должен быть удобен для быстрой вставки и проверки
Дополнительные условия: - не меняй визуальное поведение без необходимости - не делай абстракции ради абстракций - не выноси логику в лишние файлы без пользы - итог должен быть удобен для вставки в реальный проект - сначала сохраняй текущее поведение, потом улучшай структуру
В итоге получается более чистый и поддерживаемый компонент, который сохраняет текущее поведение, но становится удобнее для дальнейшей разработки.
function OrdersPanel({ items, onSelect }) {
const visibleItems = items.filter(Boolean);
return (
<section className="grid gap-4">
{visibleItems.map((item) => (
<OrderCard
key={item.id}
item={item}
onSelect={onSelect}
/>
))}
</section>
);
}