React components are reusable UI building blocks that are divided into two types: Function components and class components. They encapsulate logic and representation and can manage their own state.