Also, could you expand on the fact that types are "still not as good" as React?
Can you make an example?
IIRC it's pretty close, but you'll still end up writing things like `{ type: String, required: false }` where in React you'd just write `string | undefined`.
I'm sure I would find many more issues if I was using it in anger, because it's building on a foundation that didn't have Typescript in mind. E.g. see this thread:
https://www.reddit.com/r/vuejs/comments/l456fl/is_vue_3_real...
In Vue you also write `string | undefined` since Vue 3.
Also note that the thread you linked is 4 years old.
I took that example from the current official Vue 3 docs: https://vuejs.org/guide/typescript/overview#general-usage-no...
> Also note that the thread you linked is 4 years old.
So 2 years into Vue 3. Has anything changed?
I mean it's not bad enough to be a dealbreaker any more like it was with Vue 2. The real dealbreaker is still the reactivity system which leads to spaghetti very quickly.
Yes, that API also exists as compatibility with the Options API, but this is what you should use:
https://vuejs.org/guide/typescript/composition-api.html#typi...
> So 2 years into Vue 3. Has anything changed?
Yes, e.g. templates are type-checked now. If you have specific things that aren't supposed to work, please list them.
> The real dealbreaker is still the reactivity system which leads to spaghetti very quickly.
I've had much better experiences with Vue than with React in this regard.
Shows what a hack vue really is.
Vue is written in TS and has first-class support for it, even at the template layer.