> React (really JSX) solves the single problem of making HTML a part of JavaScript
The reason I like the way Vue works is because it makes javascript part of the HTML definition (with component definitions), essentially the opposite of what you like about React. That said, my use case of Vue is very different to my use case for React. Even though Vue does essentially solve the same problem set, their approaches have pros and cons in different scenarios.
(all that said I typically don't need to use either for what I do, in preference of light vanilla JS classes)
My use case where Vue fits better is in lots of isolated reusable components that aren't tied to a global state. So an image slider or datepicker for example.
But I would consider React and Vue for building a larger scale, stateful application like Spotify or Slack.
The reason I like the way Vue works is because it makes javascript part of the HTML definition (with component definitions), essentially the opposite of what you like about React. That said, my use case of Vue is very different to my use case for React. Even though Vue does essentially solve the same problem set, their approaches have pros and cons in different scenarios.
(all that said I typically don't need to use either for what I do, in preference of light vanilla JS classes)