This approach is a classic footgun for beginners in the context of "hook rules". In general it's quite fragile.
Makes me wonder why this is all so difficult. Vue has a lot less problems for me than previous iterations and frameworks, but it's still frustrating how many footguns still exist. Like gotchas where you lose reactivity where linters/compilers won't catch the problem for you, and you forget the gotchas if you're not immersed in that framework for a while.
I'm not getting why we can't have robust static checking for this stuff vs trusting every developer to be careful.