Максимальный перфоманс с React Signals

preview_player
Показать описание
Некоторое время назад очень нашумели React Signal. На сигналах смогли добиться избавления от всех ненужных рендеров. И у многих возник вопрос, станет ли это будущим React. Как сигналы этого добились и что ответила React команда разработки вы и узнаете в текущем видео!

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

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

00:00 Анонс темы
00:30 Что такое сигналы?
01:40 Сигналы в коде
02:28 Исследуем пример
02:58 Как это работает под капотом
03:40 Масштабируем пример
04:50 Реактивное программирование
05:24 Чиним инпут
07:00 Есть ли у Signals будущее?
08:45 Оглянитесь вокруг

Рекомендации по теме
Комментарии
Автор

обращаю все благодарности и ругательства не только к тебе, но и к роману

ReturnMeVoid
Автор

Никогда бы не подумал, что увижу vue в react.

ЕгорЛазука-йэ
Автор

В Angular сигналы выглядят очень прилично и чувствуется, что это одно из основных направлений развития фреймворка. Но профит там достигается не такой как с сигналами для реакт: view компонента все равно целиком будет пересчитываться после изменении значения сигнала, если его значения использовалось во view.
В итоге мы имеем чем-то похожий на react стиль написания компонентов (signal≈useState, effect≈useEffect) + реактивно декларативный подход (значения одних сущности зависят от значений других, минимум императивных действий).

vasiliykrush
Автор

Все давно было придумано в MobX (как вы упомянули на 5:25), но там было немного другой подход при этом не надо создавать доп ноду value в VDOM.

egorovsa
Автор

После реализации проекта на solidjs нет никакого желания возвращаться на реакт. Не нужно греть голову ререндерами, юсколбеками, юсмемо, мемо - которые ломается, если колбек не мемоизированный передал в пропсах. Всё работает максимально быстро и понятно. Испытываешь ментальный комфорт, когда знаешь, что обновление не вызовет каскадный ререндер всей страницы. Сигналы в том или ином виде уже есть во Вью, и можно вживую убедиться, какая разница в скорости работы приложения на примере Озона (Вью) и Яндекс Маркета (неповоротливый монстр написанный на Реакт).

gatos-su
Автор

Я пока не понял, в чем преимущество. Не, когда у нас коунтер то да, прикольно. Но, обычно, стейт у нас какой-то массив объектов, который мапится, или, как в примере с инпутом, изменяемая строка, и т.п. Что, в таком случае, дадут нам сигналы, в чем выигрыш? Если я правильно понял, то сигналы дают возможность управлять рендерами/перерендерами в отдельных случаях. Ну так в реакте это есть, упомянутые useCallback и прочие memo. Шо так дополнительный код писать для оптимизации рендера, шо эдак. Так в чем смысл, тянуть доп. библиотеку и разбираться с новым подходом? 🤔

ИмяФамилия-эфв
Автор

Интересное видео, но я не пишу на js, а так посмотрел для будущего спасибо)

games
Автор

Мне кажется, что команда react, как бараны, упёрлись в "свой путь".
В проекте используем реактивный state-менеджер reatom. Возвращаться к разработке на голом react - боже упаси!
В серверные компоненты и компилятор, как в серебряную пулю - не верю.

ОлегСелин-шы
Автор

А зачем эта библиотека, если уже давно есть mobx?

grenadier
Автор

Я думаю основная из причин почему именно сейчас хэйтят react - это из-за упëртости core команды внедрять сигналы, хотя это уже сделали все остальные популярные фреймворки.
И оправдания какие-то странные. Когда люди используют сигналы в виде ref, то никто не думает о рендеринге, он просто есть на изменения. Когда используют computed, то да обозначают после каких ref изменений должен обновиться этот computed. Это логично, это понятно, это легко читается, дебажится.
Когда вы же иначе делаете какую-то подкапотную схему, то это дико не интуитивно и есть риски в непонятной ситуации лепить какие-нибудь useCallback и писать комменты что эта фигня запускается после той фигни.

RockStation-zero
Автор

Jotai — 1, 1 миллиона скачиваний в неделю.
Плюс есть пропоузал о добавлении сигналов в ECMAScript.
Как по мне, реактивность — это будущее и чуть ли не единственно верный способ разработки интерфейсов.

khmilevoi
Автор

Парни реально придумали Vue 3 в React и назвали это Signals)
Было время, когда Vue копировал идеи React, но, доводил их до ума. Теперь кажется, будто тенденция идёт наоборот.
Спасибо за видео!

gerda-morozova
Автор

А кто знает хороший курс по Vue3 ( торрент), напишите пожалуйста

antoncigur
Автор

Насчет Vue: Evan писал то ли в гитхабе, то ли в Твиттере. Далее не дословно: "Если сигналы стандартизуют, то у Vue есть большой шанс внедрить их в пакеты реактивности". Сейчас же Vue построен на прокси, что и так довольно удобно и сильно походит на сигналы)

katana_yaiba
Автор

привет! ты знаешь что нибудь про грядущее обновление в реакте, что мемоизация будет из коробки и useCallback, useMemo и memo больше не понадобятся? Когда выйдет обнова, действительно ли принесёт пользу (а если да, то как замерить) и можно ли будет разом удалить useCallback, useMemo и memo?

ReAgent
Автор

На сколько знаю, в планах команды по Angular это полный отказ Zone.js в пользу Signals. И уже проделано очень много работы по этому направлению.
В том числе и в взаимодействие rxjs и Signals, например, экспериментальный toSignals(observable)

Dimazzz_ik
Автор

Нет Реакта - нет лишних рендеров!
(Шутка юмора.)

AlexanderBorshak
Автор

былоб интересно попробовать скрестить RJSF с сигналами, при больших формах с кастомными виджетами сигналы должны помочь

salvehn
Автор

в реакте из реактивности только название

foo
Автор

Пробовал год-два назад затащить Signals в проект. Но библиотека, к моему сожалению сломала в NextJs HMR. Я полазил по Гитхабу, даже (по-моему) нашёл какой-то ишью. Короче, удалил, и вместо него стал использовать Valtio.

andyjs