If your goal is to find a job, then learn React; you can easily switch to React Native if needed.
If you are launching your start-up with your friends, that you have managed to raise funds, and that you plan to recruit developers, go to Vue.JS for the front part: it is much simpler and more productive than React; Since it is not niche technology, you will never have too much trouble finding developers to form a team that you will lead.
If you are launching your start-up but you are alone and without an investor, just with your savings, forget these three technologies because they are all three unsuitable for your situation.
Let me explain when you are alone with only your savings, time is playing against you. Especially since we always underestimate development times. And your challenge is PRODUCTIVITY, EFFICIENCY, RAPIDITY.
If you are going on a separate front & back-end architecture, you are already dead: I did this bullshit; so if I can help you to be less stupid, the pleasure is for me. "Well yes, it's obvious!" So, I decided to start coding the front side using Vue.JS and the back-end part using Phoenix. With what this implies regarding technology to master, the intellectual capacity required to produce your application, the fact that you can hardly concentrate on the front and the back end at the same time, …
So, when you start alone, you only have the choice to code your application in full-stack. With frameworks like Rails, Django, or Laravel, you can encode both the front than the back end and get your product quickly.
Fortunately, there is a savior for free electrons who launch themselves: David Heinemeier Hansson, or "DHH", the same one who created the Ruby on Rails framework. He created a framework called StimulusJS by following the same principles that prevailed during the creation of Rails: productivity, convention before configuration. It is a framework that remains very little known today but which I discovered recently and which I think is a real game-changer that could eventually send all the classic frameworks to the computer museum.
StimulusJS, coupled with the Turbolinks library, has the advantage of considerably increasing the execution speed of your application, moving it from a 2CV to a Ferrari, and of manipulating the DOM without having to rewrite the entire application.!
The implementation of the Turbolinks library alone can significantly increase the speed of your application in a fraction of time. This library is implemented by default on Rails but can also be implemented on other full-stack frameworks.
And with StimulusJS, you manipulate the DOM without having to write two applications — one for the front, one for the back-end —, without sacrificing the speed that Turbolinks brings and without sacrificing the productivity that brings the full-stack frameworks above cited.
In summary, if you want to be an employee, go to React; if you are launching your start-up with partners, choose Vue.JS; if you start alone, StimulusJS is for you.
I add that StimulusJS is also suitable for in a start-up: I implemented this technology in the start-up that I joined recently, and I deleted all Vue.JS components that existed within the coded application with Laravel. These components included countdowns, buttons that change, and components that appear when the countdown reaches zero. The code itself worked perfectly; the problem came from the reactivity of Vue.JS: countdown frozen for a few seconds, when it reached zero, it took up to three seconds before observing the changes of components, …
By removing Vue.JS and replacing it with StimulusJS, I solved this problem by ultimately obtaining a much faster, much lighter application, as well as the enormous satisfaction of the founder!
Because this is what we ask developers: to provide a solution to a problem, even if it is out of the ordinary.