И так, поговорим о библиотеках для cssinjs и в часности об альтернативах JSS.
Вот более менее полный список библиотек github.com/MicheleBertoli…
Начнем с aphrodite. Я написал как то статью сравнивающую их: medium.com/@oleg008/aphro…
Что характеризует афродиту: более высокий уровень абстракции, апи пытается дать пользователю инлайн стили которые генерируют CSS в <style>
Но при ограниченом сабсете CSS который можно использовать: к примеру нету доступа к селекторам тепа ~> итд.
Далее у афродиты только один режим рендеринга: все стили пишутся в один <style>. В JSS можно и так и так.
Негативное у афродиты это батчинг - они прежде чем отрендерить стили ждут. Это может дать перерисовку.
И не дает конечный (computed) результат если делать это синхронно. Тем самым заставляет тебя использовать setTimeout.
Также некорректно сравнивать jss и aphrodite напрямую, для этого я написал отдельную библиотеку, которая совмещает обе идеи в одной.
github.com/cssinjs/aphrod…
Эта библиотека дает API практически как у aphrodite но для описания стилей можно использовать весь JSS JSON DSL.
Также там решена проблема с батчингом и всеми видами селекторов.