React не диктует способ стилизации — выбор за проектом.
| способ | когда |
|---|---|
| CSS Modules | изолированные классы, обычный CSS, без рантайма |
| Tailwind | быстрая вёрстка утилитами, единая дизайн-система |
| CSS-in-JS (styled-components, Emotion) | старые проекты, динамические стили из props |
| UI-библиотеки (MUI, Ant Design, shadcn/ui, Mantine) | готовые доступные компоненты |
Что важно знать
- CSS-in-JS с рантаймом плохо сочетается с серверными компонентами — новые проекты чаще берут CSS Modules или Tailwind.
- shadcn/ui — не зависимость, а копируемые в проект компоненты на Radix и Tailwind: полный контроль над кодом.
- Условные классы — утилита
clsx. - Общие токены (цвета, отступы) — в CSS-переменных, чтобы тема менялась без перерисовки React.