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

288
Vistas
Front-end angular/general: ¿deberían los componentes "abrir un cuadro de diálogo"?

Suponiendo MatDialog o cualquier implementación de "servicio de apertura de diálogo", donde se abre un diálogo con dialogService.open , ¿la "lógica de apertura de diálogo" sería adecuada en el componente en sí o en un efecto de biblioteca Store (NGRX)?

componente.ts

 foo(): void { this.dialogService.openDialog(BarDialog, params) }

contra

componente.ts

 foo(): void { this.store.dispatchAction(OpenBarDialog, params) }

y el Efecto tendría la "lógica de apertura de diálogo". Mi intuición es que "abrir un cuadro de diálogo es un efecto secundario".

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

0

No creo que haya una única respuesta específica a esta pregunta, todo se reduce a lo que necesitas. Aquí están mis dos centavos que absolutamente quiero decir como un asunto para discutir sobre (!)

Tener esta lógica en un efecto hace que esto sea mucho más fácil de refactorizar y reutilizar eventualmente. Sin embargo, si la "respuesta" a este cuadro de diálogo (reaccionar a, por ejemplo, una acción de cierre) solo debe ser consumida por el componente con el que comenzó a abrir el cuadro de diálogo, entonces, ¿por qué abstraer todo en un efecto en primer lugar?

Por otro lado, si va hasta el final con NGRX, eventualmente terminará con un código que es mucho más legible y razonable.

over 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