Какие антипаттерны стараешься не использовать при написании React компонентов

«Какие антипаттерны стараешься не использовать при написании React компонентов» — вопрос из категории Паттерны, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

  1. Большие компоненты - разбиваю на мелкие переиспользуемые компоненты с одной ответственностью. Пример плохого подхода:
function UserProfile() {
  // Слишком много логики в одном компоненте
  return <div>...</div>;
}
  1. Проп дриллинг - избегаю передачи props через множество уровней, использую Context API или state-менеджеры.

  2. Использование индексов как key - это может вызвать проблемы с ререндерингом. Лучше использовать уникальные ID.

  3. Прямые манипуляции DOM - вместо document.querySelector использую refs и React-way управления DOM.

  4. Избыточные ререндеры - оптимизирую с помощью React.memo, useMemo, useCallback.

  5. Хранение недеривативного состояния - избегаю хранения данных, которые можно вычислить из существующего состояния.

  6. Использование setState в цикле - группирую обновления состояния или использую функциональную форму setState.