Стилизация параметров компонента ReactJs
Я провожу некоторые исследования для большого проекта, который будет использовать responseJs, и все HTML-элементы будут преобразованы в React Components.
Как мы все знаем, css имеет большие проблемы с глобальными переменными, поэтому существует большая вероятность конфликтов css.
Есть много разных вариантов, в том числе:
Атомный дизайн
SMACSS
OOCSS
или используя такие библиотеки, как:
радий
Реагировать стиль
Реагировать на линии
jsxstyle
Реагировать JSS
Реагировать на встроенный CSS
React Look
Стили React Statics
Все они имеют что-то хорошее, но в то же время все находятся в эксперименте и не хватает вещей.
Другими словами, ни один из них не решает все проблемы css в стиле реагирующих компонентов, или некоторые просто пытаются решить проблему, которой нет.
Попробовав все из них, я на полпути думаю, что мне следует просто ссылаться на распространенные CSS-файлы стилей и иметь CSS-файл, специфичный для каждого компонента, и нацеливать этот CSS-файл изнутри компонента.
Кто-нибудь здесь имел опыт в разработке компонентов реагирования в большом проекте и есть какие-либо отзывы о нем или предложения?
Я просто не могу определиться с тем, чтобы использовать для этого просто CSS или JavaScript.
Есть что-то, что я пропустил, чтобы исследовать?
1 ответ
Нет ничего плохого в том, чтобы включить CSS в ваше решение, SASS и LESS потрясающие.
Тем не менее, мне лично нравятся встроенные стили a как простой JS-объект, потому что он дает вам всю мощь JS, поэтому вы можете быть настолько динамичными, насколько вы хотите, выполнять вычисления всех необходимых вычислений без предварительной обработки css и т. Д.,
Команда React инвестировала в это какое-то время (React Native уже использует это по умолчанию), здесь есть React Native Styles, презентация от инженера Facebook, а также предложение от repoactjs / реагировать на будущее, и есть хорошие библиотеки, такие как Radium, который вам очень помогает.
CSS в JS, безусловно, становится лучше с каждым днем, так что да, я бы посоветовал сделать этот прыжок.:)