I'm currently building an Angular 2 application using ngrx, and I've been intrigued by the concept of OnPush change detection for optimizing performance. After reading multiple articles on the topic, it seems that the general consensus is: "If a component relies solely on its input properties, and they are immutable, then the component will only change when one of its input properties change.". This has led me to ponder a couple of questions regarding OnPush:
1) What happens if my component has a combination of @Input() properties and non-input properties - does OnPush lose its effectiveness in this scenario?
2) Similarly, if a component only has properties (without using @Input), does OnPush still provide any benefits?
Any insights on this would be greatly appreciated :)