ReactJS is a JavaScript library for building user interfaces. It uses a virtual DOM and only updates parts of the real DOM that changed. React uses a component-based architecture where data flows unidirectionally via props and state. Lifecycle methods allow components to handle state changes. Components are built with JSX syntax and can be nested to build up an application from reusable pieces.