The "cognitive load" for Vue templates is totally exaggerated: the syntax is very readable and easy to remember. Do you really think that v-if and v-else are harder to remember than all the inline JSX tricks using && || ?: operators ? In the end, people reinvent the wheel and create their own custom DSL in JSX with utility functions/components like this one: https://github.com/sospedra/mayre Vue developers can use JSX since Vue 2.0 but most of us prefer using templates and single file components because they are clean, readable and easy to write. Also, JSX requires a transpilation step whereas it is optional for templates. It's hard to tell how JSX could be an improvement for us.