Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

255
Vistas
¿Cómo detectará mi tienda ngrx el cambio en el lado del servidor?

Recientemente agregué la tienda ngrx a mi aplicación angular2 existente para simplificar el código y mantener un estado compartido. Sin embargo, estoy confundido acerca de una parte, actualizo mi estado desde el servidor una vez al principio y luego solo trabajo en el estado sin verificar el servidor. Entonces, ¿qué sucede cuando, por ejemplo, algo cambia en el backend? ¿Debo verificarlo cada vez que voy a esa página o hay una mejor manera? Básicamente, quiero saber cuál es la mejor práctica para asegurarme de que los datos de su estado se actualicen para mostrar los datos del servidor.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Se recomienda utilizar efectos NGRX . Cuando implementa los efectos NGRX junto con la tienda, cualquier efecto secundario HTTP es manejado por los efectos, que a su vez usarán una acción en la tienda para actualizar los datos. Un efecto escucha la acción y usa la carga útil de la acción para realizar un efecto secundario (HTTP). Cuando finaliza el efecto, llama a una nueva acción (ya sea una acción para el éxito o una acción para el fracaso) con una nueva carga útil, actualizando así los datos en la tienda.

En el ejemplo de los documentos de efectos , muestra un efecto para iniciar Login :

 @Injectable() export class AuthEffects { constructor( private http: Http, private actions$: Actions ) { } @Effect() login$ = this.actions$ // Listen for the 'LOGIN' action .ofType('LOGIN') // Map the payload into JSON to use as the request body .map(action => JSON.stringify(action.payload)) .switchMap(payload => this.http.post('/auth', payload) // If successful, dispatch success action with result .map(res => ({ type: 'LOGIN_SUCCESS', payload: res.json() })) // If request fails, dispatch failed action .catch(() => Observable.of({ type: 'LOGIN_FAILED' })) ); }

En este ejemplo, Effect for Login escucha la acción LOGIN . Cuando se produce la acción LOGIN , utiliza la carga útil de la acción y realiza una POST HTTP. Cuando HTTP POST regresa, llama a la acción LOGIN_SUCCESS con la respuesta json para la carga útil o devuelve la acción LOGIN_FAILED .

De esta manera, su tienda siempre se mantiene al tanto de cualquier efecto secundario, como HTTP. Si un componente actualiza un registro en la base de datos, el Efecto debe notificar a la Tienda para que todos los componentes suscritos a esos datos obtengan los datos actualizados.

Espero que ayude.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda