React is a JavaScript library for building user interfaces that uses a virtual DOM for improved performance. It uses a one-way data flow and declarative components. The virtual DOM allows React to efficiently update the real DOM by only making necessary changes. Components in React encapsulate elements and can have state and props. JSX is recommended for writing React components and compiles to plain JavaScript.