What is React?
React is a JavaScript library, and if you take a look at the official web page (the official React website and documentation are available at this link: https://react.dev/), you learn that the creators call it “The library for web and native user interfaces.”
But what does this mean?
First, it’s important to understand that React is a JavaScript library. As a reader of this book, you know what JavaScript is and why you use JavaScript in the browser. JavaScript allows you to add interactivity to your website since, with JavaScript, you can react to user events and manipulate the page after it is loaded. This is extremely valuable as it allows you to build highly interactive web user interfaces (UIs).
But what is a “library” and how does React help with building UIs?
While you can have philosophical discussions about what a library is (and how it differs from a framework), the pragmatic definition of a library is that it’s a collection of functionalities that you can use in your code to achieve results that would normally require more code and work from your side. Libraries can help you write more concise and possibly also less error-prone code and enable you to implement certain features more quickly.
React is such a library – one that focuses on providing functionalities that help you create interactive and reactive UIs. Indeed, React deals with more than web interfaces (i.e., websites loaded in browsers). You can also build native apps for mobile devices with React and React Native, which is another library that utilizes React under the hood. The React concepts covered in this book still apply, no matter which target platform is chosen. But examples will focus on React for web browsers. No matter which platform you’re targeting though, creating interactive UIs with just JavaScript can quickly become very complex and overwhelming.