Earlier quoted context omitted.
We've been leaning heavily into Vue3+TSX over at https://radiopaper.com which addresses some of these gripes. It's true there's more "magic" and ceremony around creating components than just a simple function, but not much – you just return what you expect to render from the `setup` component method and all is well. You also get niceties like well-typed props & emitted events, and even runtime prop data validation if…
Prop destructuring isn't necessary. A lot of people changed to accessing the props via property access and this is often a better approach for conciseness. Don't force yourself to do something stylistic if it doesn't fit!
Personally I do like the non-destructured `props.abc` throughout component code, really helps clarify at a glance where something is coming from, whether it's locally or externally defined, etc. Code style is an endless exercise in compromises/opinions though, even _with_ tools like eslint and prettier.