If you implement OnPush on B component, then you expect that B component’s state can only change as a result of input bindings update. If input bindings don’t change, change detection is skipped for this component and all its children. If it’s not the case why use OnPush on B component, then yes, probably you should reconsider using it. As for children, the same logic applies. The state of B component’s children can only be changed as a result of B component’s state change. If B component’s state doesn’t change, then there is no need to run change detection for the component’s children. Again, if this logic doesn’t apply in your case, either do not use OnPush, or use markForCheck or other options of manual control of change detection.
