Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

256
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda