The reusable building blocks React apps are assembled from.
A component, an element, and an instance are three related but distinct things that get used interchangeably in casual conversation. A component is the definition — a function or class describing how to render something. An element is the lightweight object created when that component is used in JSX, describing what should render but not actually rendering anything itself. An instance is what React creates and tracks internally when a class component actually gets mounted (function components don't have a traditional 'instance' in the same sense).
React explicitly favors composition over inheritance for building complex UI out of simple pieces — rather than a Button extending a BaseButton class, you build a Button that accepts children or renders other components, and complex UI emerges from composing small, focused components together. The children prop is the clearest expression of this: it lets a component (like a Card or Modal wrapper) render arbitrary content passed into it without knowing anything about what that content is.
What you'll walk away knowing