імхо, непогана практика малювати таблиці окремим компонентом.
Передаєш "готовий"** через
@Input dataSourse (масив), і малюєш його. Логіку можеш в паренті робити або прямо в компоненті (зручно через інпут сеттер).
** - готовий до малювання масив, це вже профільтрований/модифікований по потрібним умовам, напр map, filter, reduce (вони і вертають новий масив, що збереже дані, а також спрацьовує ченжДетектор, оскільки посилання на масив оновлюється).
Тобто, в тебе має бути ~вихідна~ вхідна дата масиву, і окремий масив для малювання (якщо ти вьюшкою маєш модифікувати вхідну дану).
Особисто я за тонкі вьюшки, але різні задачі і ситуації бувають.