Como sabe, en aras de un buen rendimiento, siempre tratamos de minimizar el renderizado en aplicaciones de una sola página. Por ejemplo, en React cada vez que un estado o accesorios cambian dentro de un componente, ese cambio hace que ese componente se vuelva a ejecutar, reevaluar y finalmente volver a renderizar.
Entonces, ¿hay condiciones similares en Angular? y ¿cuáles son las mejores prácticas y patrones para reducir el procesamiento adicional?
Este es un gran tema para cubrir aquí, pero sugeriría el siguiente artículo para empezar: https://blog.angular-university.io/how-does-angular-2-change-detection-really-work/
TLDR;
Lo que sucede es que Angular en el momento del inicio parcheará varias API de navegador de bajo nivel, como por ejemplo addEventListener, que es la función del navegador utilizada para registrar todos los eventos del navegador, incluidos los controladores de clic. Angular reemplazará addEventListener con una nueva versión
Entonces, al extender la funcionalidad básica, angular comprende los cambios que desencadenan la reevaluación de los valores y las necesidades de representación.
Como extra, debemos mencionar que las comparaciones no son profundas dentro de los tipos de referencia, por lo que se debe realizar algún manejo.
En el artículo, se mencionan varios métodos para ajustar el rendimiento como
Como puede comprender, estos son sus propios escollos y consideraciones