I have been intensively working on frontend field for some time now. Since I already had a close relationship with HTML-based frameworks like Bootstrap, it wasn't really difficult, I can say that.
Of course, I didn't have much trouble at first because I was experimenting with relevant structures, including jQuery and some dependent plugins. In the parts where I struggled, I managed to come up with a new model by solving plenty of examples and benefiting from paid and free courses available on the internet. (Udemy mostly.)
In general, there is fierce competition among frontend languages. Of course, React JS is at the forefront of this competition. Many companies make use of React JS and related languages.
My recommendation, apart from React JS, is to gain experience in other areas in this field. For example, jQuery, Node.js, and Express are relevant topics on their own.
If you want to advance further, there's also AngularJS and Vue.js
There are two systems known as MERN and MEAN stack. In the first one, MongoDB - ExpressJS - ReactJS - NodeJS are used, while in the other, AngularJS replaces ReactJS.
These models allow you to develop end-to-end projects. Of course, for mobile applications, you'll need other languages. In my opinion, React Native is not a complete solution.
In conclusion, in this initial front-end article, I will provide you with some introductory tips on ReactJS.
Since ReactJS, for local development, requires NodeJS, you should have NodeJS installed on your system first. After that, you can set up a sample empty project with the following commands:
npx create-react-app my-app
After make npx, you can enter the directory with the cd command view your first React project on the default port (3000) with the npm start command.