хорошо, но это галимо очень
Вообще-то НОС считается компонентом высшего порядка (аналогично функции высшего порядка, которая может принимать в качестве параметров и возвращать другие функции), то есть компонентом, который получает на вход другой компонент и возвращает его, расширив некоторой сквозной функциональностью. Эти НОС компоненты подходят для инкапсулирования какой-либо МНОГОКРАТНО повторяющейся логики. Использование этой абстракции позволяет писать более универсальные и расширяемые компоненты, а также собирать компоненты в функциональную композицию.
Для каждого инструмента есть своя задача и не стоит злоупотреблять чем-то одним.
Те же хуки, к примеру, подходят для реализации какого-то специфического для одно компонента поведения. Если же логика начинает повторяться от компонента к компоненту, то лучше вынести ее в этот самый НОС.
Вот кстати, когда я про НОС узнала, оказалось что я функции с похожей логикой уже использовала ранее в своем проекте! То есть я их сама придумала! А уже потом узнала, что паттерн в Реакте такой есть 🌚