JSX is just JavaScript.
const A = () => <div>hello</div>
Is the same as const A = () => h(“div“, null, “hello“)
JSX is neither HTML nor a template DSL, it simply transform into a function signature. 9 out of 10 frameworks base on the functional approach today, including Vue.
You can use Vue as plain JS. You don't lose much by abandoning the single file components.
> React is just Javascript.
Except the entire ecosystem is designed to steer you toward JSX which is not "just Javascript".