React is a JavaScript library used for building user interfaces with reusable UI components. It can be used to create single-page applications by handling the view layer for web and mobile apps. There are two ways to set up a React environment using npm or create-react-app commands. Components allow splitting the UI into independent pieces and React allows creating reusable components to build rich user interfaces.