* логика привязана к view * логика зависит от lifecycle * нельзя использовать вне view (продолжить исполнять) * изменения повлекут изменения view * нельзя описать сценарий ( тестирование без view)
Ибо иначе как религией или фанатизмом я это назвать не могу. Какие-то вещи, безусловно можно вынести и потестировать отдельно от компонента, если они общие и UI действительно не важен
поэтому я рекомендую graphql-request, sw с кешем, либо cache в fetch прописывать. Чтобы вся логика находилась в другое слое, а не размазано по компонентам query там и хукам, которые нельзя вызывать вне View
И для этого как раз прекрасно подходят хуки ибо позволяют логику вытащить и спокойно потестировать и потом переиспользовать. И можно просто их выхлоп проверять и все.