Introducing Signals
Преактовцы выпустили пакет, который заимствует некоторые идеи из Solid.js.
И у него есть частичная совместимость с реактом
Для 2022 там используются достаточно стандартные решения в плане реактивщины, но…
С точки зрения вью либы они сделали то чего давно не хватало во всех этих реактах - нативные реактивные биндинги!
Что это? Я уже как-то предлагал реализовать нечто подобно на Jotai (тогда это посчитали неважной утилитой). Оно позволяет вставлять в JSX реактивные юниты без использования хуков! Трюк прост - давайте вставлять компонент-обертку, который в себе просто вызывает хук и возвращает его значение. Таким образом мы избавляемся от пачки правил использования хуков в одном рендере.
Хотя уже давным давно существует github.com/grammarly/focal, который делает нечто подобное, но преактовцы сделали интеграцию максимально прозрачной и лёгкой как с точки зрения юзер кода, так и по технической реализации (ну это они так говорят).
И, наконец, получили vue.js.
И важно тут вот что, реактивный юнит в преакте можно не просто вставлять в JSX, но и передавать в атрибуты DOM элементов - и это гейм-ченджер который позволяет практически полностью убрать ререндеры.
Интересно, конечно, что там по памяти и скорости инициализации. Ждем еще независимые перфтесты.
P.S. пакет весит как третий реатом, который еще более фичастый и универсальный 😉
Post #410
1.54K
Preactjs Introducing Signals – Preact
- 👍 7
- 🤯 3
- ❤ 1