Ответ
Сигналы — это реактивные примитивы, которые автоматически обновляют зависимые значения при изменении состояния. Они позволяют создавать декларативные связи между данными без ручного управления подписками.
Пример с Solid.js:
const [count, setCount] = createSignal(0);
// Автоматически обновляется при изменении count
const doubled = () => count() * 2;
createEffect(() => {
console.log(doubled()); // Логирует 0, 2, 4...
});
setCount(1); // Триггерит эффект
Ключевые особенности:
- Только чтение через вызов функции (
count()
) - Автоматическая отслеживание зависимостей
- Эффективное обновление только затронутых частей UI
- Нет виртуального DOM (в Solid.js)
Альтернативы: RxJS Observables, MobX, Vue refs.