A library is a collection of functions and other bits of reusable code. If you've used jQuery, then you should already be familiar with the concept of a library. You called on functions from the jQuery library to execute a desired task. Using a reputable library makes development many times faster and easier than having to come up with the required complex code on your own. You could certainly make any web page without React.js, but using React.js for large projects can make parts many times faster to write.
If you need to learn one technology to design an interface for many platforms, React is definitely a great option. You can use React to create Android applications, iOS applications, Windows applications, MacOS applications, and website applications. I learned React.js for fun and verified that all of this is very much possible and fairly easy. Note that I said React, not React.js. Though you would end up learning React in the process of working with the React.js library. You would need to learn additional aspects when switching between platforms, but using React is generally much faster than learning the native IDE and language.
What is JSX?
const element = <p>Hello World!</p>
<div id="app"></div> <script type="text/babel"> ReactDOM.render( <p>Hello World!</p>, document.getElementById("app")); </script>
Should I learn React?
The answer is easily yes. If you're a dedicated UI developer with the desire to learn several relevant skills, many times yes. React is a wonderful tool for your belt. As aforementioned, it can be used on many platforms. The technology is in high demand as a skill. Creating a complex and dynamic app can be fast. It is reliable and easy to read. The list goes on.
Problems/cons of using React
- React is fairly young. Naturally, this means not all questions have been asked and found by Google to index on Google search. You would need to dig through documentation to find your answer. Really that last part isn't a problem, but I know a lot of people who have a hard time with documentation.