> Faqs > Interfaces TypeScript en componentes Angular

Interfaces TypeScript en componentes Angular

Buenas!

He leido el artículo del manual de Angular que hace referencia al uso de interfaces en servicios.

Mi pregunta es si sería buena idea (o mejor dicho, una buena práctica) el usar interfaces en compoenentes para agrupar variables, por ejemplo: una interfaz que contenga todas las variables que evalúan si hay o no errores, o si se muestran o no spinners...

Entiendo que depende de las necesidades propias y que puede que en algunos caso convenga y en otros no, y creo que pude descargar la lógica encapsulando elementos... pero no se si hay alguna contraindicación.

Muchas gracias!

Respuestas

Las interfaces se usan sobre todo para que el lenguaje TypeScript permita que se detecten errores a la hora de programar, de manera temprana, ya que el propio compilador te avisaría de ello. Además, permite también que el propio editor te ofrezca ayudas contextuales, ya que estás detallando el tipo de objetos y sus propiedades.

Esas son las ventajas que yo encuentro al uso de interfaces de TypeScript, ya sean en componentes o servicios o allá donde las tengas.

Ya para el tema que tú estás comentando creo que se trata algo más relacionado con la "componetización". No creo que exista esa palabra, pero me refiero al hecho de crear componentes que encapsulan las complejidades de determinados tratamientos y permiten descargar de código a otros componentes más grandes. Esto lo haría con vistas a la reutilización también.

Agrupar variables sin que exista una correspondencia entre ellas, solo porque un componente las usa todas juntas, no lo veo claro.

Por lo que entiendo en tu pregunta creo que el camino sería más usar un contenedor global de datos, lo que sería Redux, que te permite descargar de código a los componentes en todo lo que es tránsito de la información entre unos y otros, los procedimientos para actualizar el estado y la lógica de las acciones. Creo que este camino está más cercano a las prácticas establecidas comúnmente por la comunidad de Angular.

Espero haberte aclarado algo.

Miguel Angel
3320 147 216 17
Gracias por la respuesta Miguel Angel! Exacto, es a esa "componetización" a lo que me referia! Muy clarificadora tu explicación! Gracias a ti! me alegro haber ayudado! buena pregunta por cierto!