title: Angular2+ Every table row is separate component with onPush will it re-render it evey time
body: <p>I have a super complex table that is consturcted with multiple sub-components(combined columns/rows with multiple buttons and data fields), ngClases(calculated to higlight or not and widht and height) and different interactions (multiple types of keyboard movements).</p>
  
  <p>Now when the table grows to around 600 rows, it gets very slow. My question is, if i make each row into a separate component, that has a ChangeDetectionStrategy.OnPush, will it rerender everything every time something changes (ngClass condition, interaction ...) or will it only rerender the rows that were affected by the change. And if the table is sorted, will it rerender and recalculate everything or it will just reorganize the existing components to save time? Is it worth to spend the few days to a week rewriting the table or not?</p>