На сколько мне известно только 2 подхода: внутренние компоненты, которые жестко на что то завязаны, потому что под АПИ инфру тоже затачивать надо, либо пишут библиотечные компоненты, у которых все данные снаружи. Жестко заточенные потом тяжело переписать, но как часто вообще переходят например с реакта на вью? Скорее с нуля начнут. А с библиотечными тяжело, один фиг 100% универсально не сделать. Надо баланс искать, делать слабосвязанные, но всё равно связанные элементы.