React.js was initially developed as an internal tool at Facebook. Created by Jordan Walke. Facebook released React as an open-source project onto the webdev scene in 2013 when it became an instantly popular library choice for web developers starting new projects. React expanded to support native iOS and Android app development with the introduction of React Native in 2015.
A fracture in the community emerged in 2018 centered around the release of React 16.8 and a powerful new feature, React Hooks. Hooks provide an alternative coding paradigm that generally reduced the number of lines of project code and embraces some functional programming concepts.
Hooks would not replace class components, which continue to be supported. Many devs learning React (myself included) faced endless confusion chasing after code tutorials and github answers that began to look very different depending on which paradigm the author had adopted.
Officially, hooks will not replace class components and at most class components may be moved to a separate bundle to reduce package size (per the React roadmap.) It is clear that hooks is the future of React and all React devs should understand and strongly consider for leveraging hooks in their projects.
Several frameworks built on React offer powerful features like SEO-friendly static site generation and dynamic server-side rendering. Companies like Netflix have adopted Next.js to power the streaming giant’s web applications. It was reprted that React and GraphQL-based static site generator Gatsby.js took in a $15 million series A funding round in September 2019. Create React App is a simple framework to start a new React app quickly.
React is so widely adopted that it’s hard to imagine another front-end library taking it’s place in the lead any time soon and that’s why the more React experience you have the better if you want to be a strong candidate for React jobs in 2020.