Новый хук useEvent решит наши проблемы!

preview_player
Показать описание
5 мая 2022 Дэн Абрамов создал Pull Request с предложением создать новый хук useEvent. Мотивацию создания этого хука и примеры его использования вы увидите в этом видео

Поддержать Айти Синяка можно здесь:

00:00 Анонс темы
00:40 Создаем InputSection
03:45 useEvent
05:28 Подписывайтесь!

________________

Канал о Фронтенде, который хочется порекомендовать (telegram):

-------------------------

Данный канал создан для инициирования бесед на различные темы IT сферы (социальные / технические), а также для тех кому короткая видео выжимка статьи, выступления на конференции или же просто личных мыслей, являются более удобным форматом
Рекомендации по теме
Комментарии
Автор

Элегантное решение. Синяк, спасибо что держишь нас в курсе)

lightinthedark
Автор

Как там говорится: "лайк не глядя*🤣

trueman
Автор

Thank you for informative content. Keep up the good.

darkside
Автор

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

АнатолийГорбов-оь
Автор

Ну на самом деле, то что предоставил Дэн в качестве кода-примера уже работает отлично. То есть можно уже скопипастить код и использовать новый хук

grenadier
Автор

Очень полезный разбор и классный контент! Так держать!

ddflruc
Автор

да уж, по началу реакт мне очень импонировал, пока я не стал углубляться в него и понял, что вот эта вот дутая реактивность и куча костылей (по сути утечек абстракции) просто усложняют жизнь разработчика. На фоне реакта vue/svelte смотрятся более солидно, уже потихоньку начал делать пет проекты и тестировать эти фреймворки, чтобы плавно в будущем соскочить с реакта) за труды лайк, но хотелось бы услышать твое мнение про будущее веб разработки, куда мы идем и чем будем пользоваться из инструментов? спасибо

davidfromnorth
Автор

Спасибо за разбор.
Такой вопрос, хотя может уже обсуждался.
А зачем вообще нужен useLayoutEffect в этом useEvent хуке, если мы можем и без него, в самом хуке, просто под инициализацией рефа написать handlerRef.current = handler? как в вашем примере

denisrotaru
Автор

Можно юзать useReducer чтобы получить стабильную функцию для прокидывания в компоненты

mendelson-dev
Автор

Спасибо за выступление на holyjs, доклад получился очень интересным 😎

norwinlol
Автор

Проблему из примера, можно решить через useDefferedValue() - поместив значение ввода в хук

kawaikaino
Автор

мимоходом получилось самое простое объяснение для useCallback ))

vladtkachenko
Автор

На канале есть все примеры с SOLID?
С инверсией зависимостей вообще идеально вышло с примером

aleksd
Автор

5:22 Не очень понял смысла useEvent в связке с useEffect в данном примере. Какую это проблему решает?

bubblesort
Автор

Посмотрел два раза, чтобы закрепить материал.

krievskiy
Автор

как правило в месенджерах после отправки сообщения очищают инпут, следовательно нужно будет вызвать setText и передать в него пустую строку. Не вижу препятствий передать в setText функцию, в которой мы можем получить актуальное значение text, выполнить все необходимые действия по отправке и очистить инпут. Таким образом переменная text удалится из зависимостей и все будет работать как положено. П - профит. Так для чего же все же нужен этот хук, если задача решается существующими инструментами?

АртёмЕмельянов-хч
Автор

Решение, действительно, не новое. Но за любые новости лайк

dpaminer
Автор

Всё круто, но где они были когда хуки придумывали?)

hihoho
Автор

Скрытый костыль) или же после этого это уже не костыль? ведь такая функция должна уже изначально быть, типо раз она решает такую глоб проблему у тебя, ты по любому засунешь в функцию

ThePirateHistory
Автор

Реально выглядит как костыль, точнее даже на кастомный хук. Будто Абрамов в один момент осознал, что какая же херня получается, когда на каждый "пук" реактом вызывается ререндер и он пытается с этим бороться. Может тогда надо было изначально строить архитектуру реакта на принципе мемоизации, как в том же Vue? 🤔

P.S. дико годное видео, спасибо!

gerda-morozova