Sobes.tech
Назад к вопросам
Middle
2

Что знаешь про Angular Signals? Какие базовые API и сущности?

Компании, где спрашивали
AstonAston

Ответ от нейросети

sobes.tech AI

Angular Signals — это реактивный механизм для управления состоянием и отслеживания изменений в Angular. Они позволяют создавать реактивные переменные, которые автоматически обновляют связанные компоненты или вычисления при изменении значения.

Базовые сущности и API Angular Signals:

  • signal<T>(initialValue: T) — создает сигнал с начальным значением типа T.

  • computed<T>(fn: () => T) — создает вычисляемый сигнал, который автоматически пересчитывается при изменении зависимых сигналов.

  • effect(fn: () => void) — создает побочный эффект, который выполняется при изменении сигналов, от которых он зависит.

  • Методы сигналов:

    • .get() — получить текущее значение сигнала.
    • .set(value: T) — установить новое значение сигнала.

Пример использования:

import { signal, computed, effect } from '@angular/core';

const count = signal(0);

const doubleCount = computed(() => count.get() * 2);

effect(() => {
  console.log('Count changed:', count.get());
  console.log('Double count:', doubleCount.get());
});

count.set(5); // автоматически вызовет effect и обновит doubleCount

Signals упрощают управление состоянием, делают его более предсказуемым и эффективным, уменьшая необходимость в сложных паттернах подписки и отписки.