Component composition in React is when a parent component renders child components inside it. The parent can pass data to children using props. Each child uses these props to render its own part of the UI. Then the parent combines all child outputs to build the full interface. For example, a parent App renders a Button component and passes a label prop. Button uses this label to show text inside a button element. The rendering happens step-by-step: App prepares Button with props, Button renders the button element, then App includes that output in its own render. This way, components stay small and reusable, making UI easier to build and maintain.