Composition lets you build complex UIs from simple components.
Children composition:
<Card>
<CardHeader>Title</CardHeader>
<CardBody>Content</CardBody>
</Card>
Render props:
<DataFetcher render={data => <List items={data} />} />
Compound components:
<Select>
<Select.Option value="a">Option A</Select.Option>
<Select.Option value="b">Option B</Select.Option>
</Select>
Composition is preferred over inheritance in frontend. It's more flexible and explicit.