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 — один из ключевых критериев при оценке фреймворков.