What is React JS and Why is it worth learning in 2019 ?

React is a frontend library, which runs in the browser. Like any other frontend library (jQuery, etc), it is happy to be served by any old webserver – Apache, NGINX – or any kind of backend – PHP, Rails, and so on.React Native a good choice for a long term mobile app development. React Native allows development of mobile apps using only JavaScript.The main purpose of React is to be fast, scalable, and simple. It works only on user interfaces in application. This corresponds to view in the MVC template. It can be used with a combination of other JavaScript libraries or frameworks, such as Angular JS in MVC.

React is definitely worth learning. It is not just a fad. React itself is not what's important, but rather the patterns that React has popularized in Web development. The principles of functional programming and unidirectional data flow have existed for decades, but are only now being widely adopted on the Web.

It takes 4–5 days depending on your learning capabilities to learn and understand React Js basics. Only you cananswer that. Learning React depends on your skillset and the effort you are willing to put in.

What should I learn before react JS?

Following are the things you should learn before you start React JS:

HTML/CSS: Have a good understanding of HTML/CSS.
Javascript: Javascript is the base of React.
ES6: ES6 is the advanced Javascript that everyone is using in their codebase.
Webpack: This is optional but important
NPM: This one is to install npm packages.

What is difference between ReactJS and react native?

Main difference between React Js and React Native: ReactJS is a JavaScript library for creating user-interface for large web applications. React Native, on the other hand, is a framework consisting of native libraries for creating mobile applications. 

Usually ReactJS is a tool that you can add to your website, to write code in the form of reusable components. This components can be integrated with other technologies , or used with other React components to make your whole page. Usually you don’t use just react to make a website, as a hierarchy of components passing down information to other components can soon become an entangled mess. You pair it with redux, mobX or whatever other technology you might like to structure your site.

React Native is not a tool that you add to an existing project. React Native is the tool you use to build your mobile phone from the ground up. What React Native does is that is allows you to write javascript that calls native code. This allows you to write most of your app in javascript, using components written in javascript (that you can eventually reuse even in your website with minor changes), and components that use native code. React Native also provides you with a lot of components that you can use right away to make your app.

In 2016 Instagram engineers started to think of implementing React Native to their app.  Using React Native the team managed to deliver the app much faster for both iOS and Android apps. The Instagram team also say that they are going to continue working with the platform.