Have you tried React in a similar setting?
Personally I couldn't bear it and it's massive adoption on frontend pushed me away from following that route much. Vue on the other hand certainly looks more "logical" to my eyes.
React sort of used to have this problem, too, when you had to rely on classes for state, but the hooks era is a breath of fresh air. Everything is just a function. It feels freeing.