Size: a a a

JavaScript.Ninja

2021 April 19

IK

Illya Klymov in JavaScript.Ninja
а про вью - мы же сейчас про хуки говорим а не про реакт в целом
источник

IK

Illya Klymov in JavaScript.Ninja
так-то и jsx это отдельная песнь )
источник

VK

Vladimir Klimov in JavaScript.Ninja
Это правда, но на практике у меня никогда не возникало проблем с тем, что "js должен работать так, а хуки так не могут"
Потому, что просто воспринимаешь это как апи, которое работает вот так и пользоваться им надо так-то
источник

VK

Vladimir Klimov in JavaScript.Ninja
А вот что касается производительности - тут, к сожалению, на хуках проще случайно написать чтобы все тормозило по моим ощущениям, чем на классах (вот эта война за ссылочное равенство и т.п.)
источник

IK

Illya Klymov in JavaScript.Ninja
У вас нет, у многих да
источник

OJ

Oleg Junior in JavaScript.Ninja
я раньше писал на чистом джс и бек и фронт. когда учил хуки в реакте я сразу понял что это не привычное программирование. это реакт-программирование какие-то.
источник

AM

Alex Makarov in JavaScript.Ninja
Это не похоже на аналогичные распостраненные апи в js/других популярных языках (ну ок, тут можно спорить про границы распространенности и популярности языков).
Документацию конечно надо читать, но всю документацию всех используемых штук - не прочитаешь.
Типичный пример - разрабы которые пришли в проект из других js фреймворков, из других мейнстримовых языков, да или хотя бы из проекта где раньше был реакт на классах.
Они в принципе уже умеют код в продакшн писать, а тут еще в одной странной концепции разбираться с неясной выгодой.
источник

AM

Alex Makarov in JavaScript.Ninja
Поэтому хороший тон не делать апи принципиально непохожие на прошлые без веской причины. Я не убежден в вескости причин здесь, по крайней мере для моих проектов.
источник

VK

Vladimir Klimov in JavaScript.Ninja
Для меня выгода вполне ясна🤷‍♂
А разбираться...ну давайте не делать из хуков чего-то страшного, всё-таки их не много и они простые, если попытаться вникнуть
Для новичков в программировании в принципе - наверное это может быть проблемой (вчера учили, что надо чтобы чичтые функции, а тут вот это непонятно что)
источник

OJ

Oleg Junior in JavaScript.Ninja
программирование на реакт с хуками - это программирование костылями. ведь useCallback, useRef, useMemo - это ведь чистые костыли. вы так не считаете?
источник

VK

Vladimir Klimov in JavaScript.Ninja
Хуки уже давно не новость и мейнстрим, можно по году на хук выделить и разобраться уже было бы😁
источник

VK

Vladimir Klimov in JavaScript.Ninja
Про useRef - нет
useCallback - наверное можно было бы сделать это "из коробки", мне самому не понятен этот дизайн, но я и не называю его совершенным
Зато это апи явное, что лучше, чем патчинг прототипов и всякие проблемы с этим на мой взгляд
источник

AM

Alex Makarov in JavaScript.Ninja
Кто уже пишет да. Но представляете, часто приходится нанимать людей которые на реакте не писали. И не потому что рынок скуден на тех кто на нем пишет.
источник

AM

Alex Makarov in JavaScript.Ninja
Давайте начистоту, веб программирование вообще костыли. Язык, верстка, протокол, безопасность etc. Все изначально на костылях и используется не для того чего задумывалось :)
источник

VK

Vladimir Klimov in JavaScript.Ninja
Ну, и что, что не писали? Не понял этот поинт
Если они вообще не программировали до этого - это проблема, конечно)
источник

AM

Alex Makarov in JavaScript.Ninja
Я не могу назвать новичоком в программировании ни одного человека из тех у кого я вылавливал косяки с хуками на ревью. :)
источник

VK

Vladimir Klimov in JavaScript.Ninja
Опять же
От косяков не застрахован никто в принципе
А то, что хуки берут не разобравшись - так это же не проблема хуков
Сам реакт матерые разработчики, которым вдруг пришлось с ним столкнуться, в такое иногда превращают, что ужас (квери селекторы на квери селекторах)
источник

VK

Vladimir Klimov in JavaScript.Ninja
Короче, я это все к чему - к тому, что не понимаю аргумент про поввшенную сложность хуков как апи
источник

OJ

Oleg Junior in JavaScript.Ninja
мне кажется что изначально подход был выбран неправильный поэтому и пошли  всякие костыли. мы пишем компонент и сразу должны задумываться какие данные будет иметь при первом рендерере а какие на втором. сразу же ветвление на пустом месте. поток исполнения программы  должен быть явным.
источник

VK

Vladimir Klimov in JavaScript.Ninja
Это концепция, вокруг которой реакт построен, начиная с иммутабельности
Хуки просто его продолжение, мне кажется
источник