Задать вопрос
@strannik_k

Какие преимущества/недостатки есть у HOC (Higher-order Components)?

Мне интересно - какие преимущества/недостатки есть у HOC?
Особенно интересна информация о применении нескольких различных HOC к одному компоненту:
1) важна ли очередность в таком случае?
2) как обратиться из одного HOC к другому (опять же в случае применения нескольких HOC к одному компоненту) и нужно ли в данном случае беспокоиться об очередности?

Сам я их не использую, поэтому сложно судить о них без опыта применения в реальных проектах.

Заранее спасибо за ответ!
  • Вопрос задан
  • 1090 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Добрый вечер.
Обычно HOC делаются так, что "очередность" не важна.
Обратиться из одного HOC к другому ... укажите задачу конкретную, мне кажется тут есть более простой способ.

Преимущества (разберем это видео[EN]):
мы описали "функциональность" и добавили ее с легкостью двум нашим компонентам. Следовательно, как минимум два отличных преимущества получили:
+ нет дублирования кода
+ простота в добавлении "функционала"

Другой хороший пример - "Навигационная ссылка"[RU] (подраздел так и называется - Навигационная ссылка), опять же - мы дали функционал необходимый компоненту. Если этот функционал пригодится где-то еще - мы сможем это устроить.

Почему порядок, скорее всего не важен - потому что обычно props передаются в стиле "бери все свойства" (...this.props), где ... - spread operator.

Подытожим:
используя HOC вы "не изменяете" компонент, который он получает, но добавляете при этом функциональность. Разве уже не круто?)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы