Разработка 18 апреля 2026 · 2 мин чтения 330 0

Signals — новый стандарт реактивности: все фреймворки кроме React

Если в 2024 году Signals были экспериментальной идеей, продвигаемой создателем SolidJS Райаном Карниато, то к 2026-му они стали мейнстримом. Angular, Vue, Solid и Svelte — все внедрили Signals как первоклассный механизм управления состоянием. Ведётся работа по включению Signals в спецификацию JavaScript (TC39 Proposal).

Как это работает

Классический подход (виртуальный DOM в React) работает так: при изменении любого значения фреймворк перерисовывает весь компонент, а затем сравнивает результат с предыдущим состоянием, чтобы определить, что реально изменилось. Это эффективно, но расточительно: множество вычислений тратится на элементы, которые не менялись.

Signals переворачивают логику: каждое значение «знает», какие элементы интерфейса от него зависят. При изменении значения обновляются только эти конкретные элементы — без перерисовки всего компонента и без сравнения деревьев. Результат — более предсказуемая производительность, особенно в приложениях с большим количеством динамических данных.

React — единственный без Signals

React остаётся единственным крупным фреймворком, не принявшим Signals. Его ставка — на React Compiler, который оптимизирует виртуальный DOM автоматически. Два подхода конкурируют: Signals как явная модель реактивности против компиляторной оптимизации неявной модели.

Райан Карниато считает, что «мы только в начале большого сдвига» — и что fine-grained реактивность через пару лет станет ожиданием по умолчанию. Для разработчиков, выбирающих стек в 2026 году, поддержка Signals — один из ключевых критериев при оценке фреймворков.