Вопрос проверяет понимание принципов DRY и способов повторного использования кода в React для поддержки чистоты и масштабируемости кодовой базы.
Дублирование кода, особенно в компонентах React, — частая проблема, которая усложняет поддержку и увеличивает риск ошибок. Чтобы её избежать, нужно применять принципы повторного использования и композиции.
Допустим, несколько компонентов используют счётчик. Вместо дублирования логики useState и обработчиков создадим хук useCounter:
import { useState } from 'react';
function useCounter(initialValue = 0) {
const [count, setCount] = useState(initialValue);
const increment = () => setCount(count + 1);
const decrement = () => setCount(count - 1);
const reset = () => setCount(initialValue);
return { count, increment, decrement, reset };
}
// Использование в компоненте
function MyComponent() {
const { count, increment } = useCounter();
return (
Count: {count}
Increment
);
}Если несколько компонентов должны иметь общий стиль или поведение, создайте компонент-обёртку:
function Card({ children }) {
return (
{children}
);
}
// Использование
function UserProfile() {
return (
User Name
Some description
);
}Вывод: Избегайте дублирования, выделяя общую логику в хуки, а общий UI — в переиспользуемые компоненты. Это особенно полезно в больших проектах, где важно поддерживать согласованность и упрощать рефакторинг.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию