Angular 21 de Cero a Experto / Signals a fondo
Reto: construye tu propio sistema de señales
Este es el reto que sella tu comprensión de la reactividad de Angular. Vas a construir tu
propio signal, computed y effect —con rastreo automático de dependencias— desde cero,
en TypeScript puro. Cuando funcione, no habrá magia en Angular que no entiendas: sabrás
exactamente por qué un computed se recalcula, por qué un effect corre, y qué significa
"grano fino". Es el sello "construye tu versión" del curso, aplicado al núcleo del framework.
Reto
Un mini-Angular reactivo en 40 líneas
Qué debes construir
Tres funciones que reproduzcan el comportamiento de las de @angular/core:
signal<T>(inicial)— devuelve una función lectora con.set(v)y.update(fn). Al leerla dentro de un consumidor (computed/effect), registra la dependencia.computed<T>(fn)— señal derivada de solo lectura que se recalcula cuando cambia cualquier señal quefnlea. Debe funcionar en cascada (un computed que depende de otro).effect(fn)— ejecutafnuna vez y la re-ejecuta cada vez que cambie alguna señal que haya leído.
Luego, úsalas para modelar "Mi Bolsillo": una señal gastos, un computed total, un
computed saldo (presupuesto − total), y un effect que "guarde" el saldo (con
console.log). Al modificar gastos, todo debe actualizarse en cascada, solo.
Reglas
- Rastreo AUTOMÁTICO de dependencias: nada de pasar arrays de dependencias a mano.
computeddebe soportar cascadas (saldo depende de total, que depende de gastos).- Todo en TypeScript, tipado. Nada de librerías.
40:00
Cuando estés listo, arranca el reloj.
Qué sigue
Terminaste el módulo más importante del curso: dominas signals de arriba a abajo, y las
construiste desde cero. El próximo módulo pone esa reactividad al servicio de la arquitectura:
servicios e inyección de dependencias —inject(), providers, tokens— para compartir
estado y lógica entre componentes sin pasarlo de mano en mano. El sistema que hace a Angular
tan potente en apps grandes.