Vlad Minenko
ну привидите пример, я скорее всего ошибаюсь.В доке просто указан только пример только с контролем мыши
Ну вот читаешь ты свой код, компонент у тебя на экране. В компоненте кроме разметки 200 строк кода, юзэффекты всякие, стейты, рефы. Мозгом смотришь на них и видишь — код решает четыре не связанных между собой задачи. Тут со списком из апи работа, там с рефом и нодой, здесь с роутингом и локацией. Разделяешь этот код визуально — 50 строк одного, потом 50 строк другого. Потом вырезаешь эти 50 строк из компонента и переносишь в функцию useВажнаяШтука. А в компоненте пишешь const важнаяШтука = useВажнаяШтука().
Вот тебе и кастомный хук. Хуки не обязательно про «напишу один универсальный и буду юзать в 100500 местах по проекту». Они про связывание логики в одном месте. Твой пример выше про три useEffect — нечитаемо, да? А если это три строчки, где написано «юзаем список чуваков, юзаем размер экрана, юзаем локейшн роутера», не проще?