React JS is a frontend library for building user interfaces using components. It uses a virtual DOM and declarative programming. Components can be either functional or class-based. Functional components return JSX, while class components can maintain internal state. Events are handled by passing callbacks, and forms use controlled components by storing values in component state.