это дает больше приемуществ.Т.е во время hmr легче заново объявить функцию, чем инцилизировать класс.Я не прав?
«Власти скрывают»
Они не скрывают, просто это должно быть вынесенно в advanced, но похоже так и не написали
Может, не написали, потому что это не так?)
класс то инициализируется единожды, в отличии от функциональных компонентов
ну вкусовщина, мы на проекте если больше 3 useEffect не юзаем хуки, становится нечитаемый код
я говорю именно в контексте hmr, инцилизировать заново класс будет медленее, чем вызывать функцию
Как насчёт кастомных хуков?
И как это относится к моей реплике? 🤔
реалзных кейсов с полезными кастомными хуками не находил
ну привидите пример, я скорее всего ошибаюсь.В доке просто указан только пример только с контролем мыши
https://usehooks.com/
Подчеркиваю, я сам не знаю, просто мимо проходил я слышал, тоже, что дорого от трех уважаемых людей, без объяснения, просто в потоке их разговора) 1. Timur Shemsedinov 2. export default 3. зеробиас
зачем слушать каких-то людей, если Dan Abramov сам об этом говорил в интервью
я думаю, что вам об этом не стоит беспокоиться, современные движки под капотом выполняют много оптимизаций
что зачем, ты сам не знаешь. Я просто в разное время, слышал тоже самое, от трех разных людей, несвязанных между собой, щас увидел тему, написал, ВСЕ
Что конкретно слышали?
дорого инициализация инстанса класса
вообще не понял, пришел, что-то вкинул
вкинул ты, я косвено подвтердил, что слышал тоже самое. Ты мне мне в пример САМОГО АБРАМОВА пишешь и что никого больше слушать не надо
ладно, просто скажу тебе «ок»
Всё познаётся в сравнении
Ну вот читаешь ты свой код, компонент у тебя на экране. В компоненте кроме разметки 200 строк кода, юзэффекты всякие, стейты, рефы. Мозгом смотришь на них и видишь — код решает четыре не связанных между собой задачи. Тут со списком из апи работа, там с рефом и нодой, здесь с роутингом и локацией. Разделяешь этот код визуально — 50 строк одного, потом 50 строк другого. Потом вырезаешь эти 50 строк из компонента и переносишь в функцию useВажнаяШтука. А в компоненте пишешь const важнаяШтука = useВажнаяШтука(). Вот тебе и кастомный хук. Хуки не обязательно про «напишу один универсальный и буду юзать в 100500 местах по проекту». Они про связывание логики в одном месте. Твой пример выше про три useEffect — нечитаемо, да? А если это три строчки, где написано «юзаем список чуваков, юзаем размер экрана, юзаем локейшн роутера», не проще?
ну я понял, я просто эту проблему решал через Хоки
Good for you. Хуками эти же проблемы решаются красивше и удобнее
Обсуждают сегодня