Есть ли опыт работы с MUI?
Что проверяют
Работали ли вы с MUI глубже списка компонентов: темой, переопределениями, производительностью. По ответу видно, насколько свежий у вас опыт. Следом просят рассказать, как вы собирали кастомную тему под дизайн-систему или что меняли при переходе между мажорными версиями.
Как отвечать
Ответ строится на вашем проекте, поэтому нужны свои примеры: какой продукт, сколько экранов, что пришлось переделать. Каркас такой:
- пакеты:
@mui/material, иконки из@mui/icons-material, при необходимости MUI X (DataGrid, пикеры дат). Часть возможностей MUI X доступна только в платных Pro и Premium, это стоит знать; - тема:
createThemeиThemeProvider, палитра, типографика,spacing, переопределения вcomponents.MuiButton.styleOverridesиdefaultProps, чтобы не стилизовать каждую кнопку вручную; - стилизация: проп
sxдля точечных правок,styled()для переиспользуемых компонентов.makeStylesэто наследие v4 на JSS, в новом коде его быть не должно; - изменения версий: в v7 новый
Gridпринимаетsize={{ xs: 12, md: 6 }}, а старый переименован вGridLegacy; - SSR: в Next.js App Router стили Emotion нужно собрать на сервере, для этого есть
AppRouterCacheProviderиз@mui/material-nextjs.
Хорошая деталь из практики: sx вычисляется в рантайме, и в таблице на тысячу строк он заметно дороже одного styled-компонента. Такое наблюдение лучше подкрепить своим замером из React Profiler.
Если с MUI вы не работали, так и скажите, а затем назовите близкий опыт: antd, Chakra, Radix, shadcn/ui. Принципы переносятся: токены темы, переопределение компонентов, доступность из коробки. Добавьте, сколько времени вам понадобится, чтобы освоиться.
Где спотыкаются
Перечисляют Button, TextField, Dialog и на этом останавливаются. Это знает любой, кто открывал документацию, а вопрос о том, умеете ли вы настраивать библиотеку под продукт.
Называют актуальными @material-ui/core и makeStyles. Это сразу датирует опыт несколькими годами.
Рассказывают, что «оптимизировали через React.memo и useCallback», но не могут сказать, что именно тормозило и как это измерили.