devterview_$ iniciar simulação

Signals no Angular: o que muda em relação a Zone.js

MédioPlenoRuntime do framework

Pergunta

O que são signals no Angular moderno e como eles mudam o modelo de change detection baseado em Zone.js?

Resposta esperada

Um signal é um contêiner reativo de valor: `count = signal(0)`, lê com `count()`, escreve com `count.set(1)`/`count.update(...)`. `computed(() => ...)` deriva outro signal com cache, e `effect(() => ...)` roda quando os signals que ele lê mudam. A diferença: Zone.js faz monkey-patch de APIs assíncronas e, após qualquer uma, roda change detection na árvore (ou nas partes marcadas), sem saber O QUE mudou. Com signals, o framework sabe exatamente quais partes do template dependem de qual signal, e re-renderiza só essas — change detection granular, sem precisar do Zone.js (o Angular está caminhando pra 'zoneless'). Ganho: menos trabalho de CD, mais previsível, e o modelo mental fica próximo do de Solid/Vue. Migração é incremental — signals convivem com o modelo antigo.

Por que perguntam isso

Pergunta pleno/sênior de Angular. Sinal de que a pessoa acompanha: 'zoneless', comparação com Solid/Vue, migração incremental.

#signals#zoneless#change-detection
publicidade

Relacionadas