Después de de una larga búsqueda de información solucionamos esta dificultad que tienen algunos usuarios. Te compartimos la respuesta y deseamos que te sea de gran apoyo.
Solución:
Mi respuesta tiene dos partes… Lo que pediste y lo que necesitas. Los valores de un Observable solo fluyen a través de los operadores de tubería cuando hay una suscripción activa. Es por eso que está viendo este comportamiento. Así que deberías hacer algo como esto:
this.store.select(state => state.auth.authUser).pipe(
take(1),
tap((data) =>
console.log('[Tap] User Data', data)
)
).subscribe();
Pero lo que parece que buscas es una instantánea de estado. Puedes hacer esto de la siguiente manera:
let data = this.store.selectSnapshot(state => state.auth.authUser);
console.log('[selectSnapshot] User Data', data);
¡Entiendo! Tengo que agregar subscribe(). Así es:
this.store.select(state => state.auth.authUser).pipe(
take(1),
tap((data) =>
console.log('[Tap] User Data', data)
)
).subscribe();
grifo (o hacer en la versión antigua de RxJS) -> Realizar acciones o efectos secundarios de forma transparente, como el registro (como ya dice la definición).
Pero, en su caso, olvidó “suscribirse()” a su Observable y es por eso que no ve sus “Datos de usuario” en la Consola.
En cambio, en el segundo caso, ya estás suscrito a un Observable.
Reseñas y valoraciones
Si aceptas, puedes dejar una noticia acerca de qué te ha impresionado de este ensayo.