# React components

You can customize theme components instead of ejecting them.

Customizing components can be useful in several scenarios:

- When developing custom components by reusing existing `theme` functionality, rather than building from scratch.
  This is particularly effective when integrating into more complex components.
- When extending or modifying the styles of existing components, especially in cases where the default theme `variables` are insufficient.

Find a list of available components with their properties in the [components list](/docs/realm/customization/react-components/list) and a full list of supported icons in the [icons list](/docs/realm/customization/react-components/list/icons).

For detailed instructions, see [Use components in React pages](/docs/realm/customization/react-components/use-in-react-page) or [Customize theme components](/docs/realm/customization/react-components/wrap-components).

## Resources

- **[Eject components](/docs/realm/customization/eject-components)** - Learn how to fully eject a component
- **[Create React pages](/docs/realm/customization/create-react-page)** - Learn how to build a fully custom React page
