React is a JavaScript library for building user interfaces that uses a component-based approach. It uses a virtual DOM that synchronizes the real DOM efficiently. Components declare their inputs through properties and local state, and outputs through events. This document compares React to other frameworks and covers core concepts like JSX, rendering, component lifecycle, and unidirectional data flow.