не подскажешь как называется принцип разработки, при которой что-то делится на модель вью и еще что-то?
Вообще это MVC/MVVM, но "расово верный" подход как таковой гораздо реже встречается на фронте.
Архитектура в основном, как показывает тенденция - компонентная.
Но полезная практика заключается в том, чтобы не разделять компоненты на компоненты с логикой и компоненты без логики (они же container/presentational, они же smart/dumb и т.д), а вместо этого разделять свое приложение на бизнес логику и отображение.
То есть условная страница/вьюха, модель, в которой хранятся бизнес-сущности/логика.
Я бы рекомендовал почитать feature-slices/atomic design