Очень короткий ответ (в общем-то, это намного больше)
- Строки шаблона CSS
SC анализирует строки шаблона с помощью CSS во время выполнения.
Emotion имеет встраиваемый плагин, чтобы подготовить эти проанализированные вещи в формате, который может визуализировать окончательный CSS во время выполнения.
JSS в настоящее время поддерживает только базовые строки шаблона и в противном случае использует объекты (планируется добавить лучшую поддержку строк шаблона)
- Обновление правил стиля
SC и Emotion генерируют новые правила CSS при обновлении динамических стилей, JSS обновит существующие правила (обратите внимание, что обновленные правила можно увидеть на вкладке стилей инструментов dev, но не в теге стиля): воспроизведение
- Зависимость от реакции
СЦ реагирует только. Emotion имеет синтаксис, который можно использовать без реакции (css``). JSS имеет отдельные пакеты: jss (ядро, не реагирует), response-jss (классы инъекции HOC), styled-jss (SC как API).
- Плагины
В настоящее время только JSS поддерживает плагины.
Статическое извлечение
В настоящее время только Emotion поддерживает полное статическое извлечение. JSS тоже работает над этим.
Вы можете получить статическое извлечение с помощью JSS сегодня, если поместите стили в отдельные файлы (something.styles.js) и извлеките их с помощью плагина webpack (без динамических значений).
Производительность
http://necolas.github.io/react-native-web/benchmarks/
- Все они генерируют фактический CSS с помощью тега стиля.