Как стилизованные компоненты влияют на производительность?

Использование стилизованных компонентов замедляет работу веб-приложения больше, чем таблицы стилей?

Если мне важна производительность и у меня нет стилей, зависящих от реквизита, следует ли мне просто отказаться от стилизованных компонентов и вместо этого использовать таблицы стилей?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
10
0
5 003
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Всегда будут накладные расходы немного для библиотеки CSS-in-JS времени выполнения, поскольку она в конечном итоге выполняет больше работы. Но за эти накладные расходы вы также получаете большую гибкость и мощность.

В каждом выпуске мы улучшали производительность библиотеки до такой степени, что разница была относительно незаметной (особенно при рендеринге на стороне сервера).

Вам решать, какая реализация больше всего подходит для вашего проекта; Если все ваши стили на самом деле статичны, то подход на чистом CSS определенно будет наиболее эффективным. Но здесь есть свои предостережения в отношении управления таблицами стилей, написания эффективных селекторов и т. д.

Интересно узнать, есть ли какие-либо последствия для производительности при использовании его с react-native, поскольку модель для установки правил стилей на этой платформе полностью отличается от веб-

Hoffmann 25.02.2020 18:07

Я сразу вижу разницу, переключил один компонент на использование стилизованных компонентов и избавился от множества головных болей, скачков лагов, дрожания на мобильных устройствах, огромной разницы в производительности. Продемонстрируйте это на небольшом проекте, прежде чем совершите ошибку, которую совершил я. Прежде чем вы спросите, да, это приложение оптимизировано, сжато и т. д. Это даже не быстрее, чем просто написание стилей объектов jsx.

twominds 01.02.2021 14:08

Когда у вас много маленьких компонентов, использующих визуализацию стилизованных компонентов, в то же время накладные расходы на производительность могут быть значительными. Определенно стоит протестировать, чтобы удалить стилизованный компонент на небольших элементах.

Я использовал стилизованный компонент для ячеек / строк таблицы, который может генерировать 27260 span (ячейка) за один раз. Используя профилировщик React, для создания моей таблицы потребовалось около 1050–1250 мсек, а после удаления стилизованного компонента из строк и ячеек - 600–630 мсек.

Я определенно видел то же самое.

dprothero 06.04.2021 23:25

Другие вопросы по теме