Выбор ответа Middle Архитектура CSS обновлено
Минус рантайм CSS-in-JS
Вопрос
В чём главный минус рантайм CSS-in-JS (styled-components, Emotion) по сравнению с CSS Modules?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Стили генерируются в рантайме: лишняя работа JS при рендере и сложности с RSC. Рантайм-библиотека в браузере сериализует стили, считает хеши и вставляет правила, это расход при рендере.
Варианты ответа
- Стили генерируются в рантайме: лишняя работа JS при рендере и сложности с RSCправильный ответ
- Нельзя использовать медиазапросы и псевдоклассы, только статичные стили
- Нельзя менять стили в зависимости от пропсов компонента во время работы
- Имена классов конфликтуют между компонентами, если совпадают названия
Разбор
Рантайм-библиотека в браузере сериализует стили, считает хеши и вставляет правила, это расход при рендере. Ей нужен клиентский контекст, поэтому в React Server Components она работает только в клиентских компонентах. Медиазапросы и стили от пропсов как раз её сильная сторона. Имена классов она генерирует уникальными, конфликтов нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.