React JS is a JavaScript library for building reusable UI components. It uses a virtual DOM for efficient rendering. Components are the building blocks of React, and can be either functional or class-based. Functional components are simpler while class components can maintain state. Props are passed down from parent to child components while state is local. The virtual DOM improves performance by only updating the real DOM with actual changes.