@sowefap339

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

Есть такой элемент:

<div class="dropdown">
      <div class="dropdown__select">---</div>
      <div class="dropdown__content">
        <div class="dropdown__item">BMW</div>
        <div class="dropdown__item">Audi</div>
        <div class="dropdown__item">Reno</div>
      </div>
    </div>


Хочу все это разделить еще на компоненты, например:
Dropdown - будет равен `dropdown`
DropdownSelect = `dropdown__select`
DropdownContent = `dropdown__content`

И тут не понимаю, где должны быть стили, все стили должны быть внутри Dropdown основного компонента, или каждый внутри своих компонентов? Если каждый внутри своих компонентов, то получается что элементы отдельно от блоков находятся. И как правильнее будет их разделить?
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
AlekSays
@AlekSays
FrontEnd developer
Все зависит от способа стилизации и структуры вашего проекта. Реакт не диктует как делать, вы сами решаете.
Лучшими практиками лично я считаю использование изолированных стилей, что исключает использование БЕМ так как каскады и специфичность исключается в таких решениях.
Из опыта (и личных предпочтений) советовал бы смотреть в сторону css-modules, css-in-js, styled-components, emotion
Но если Вы все таки предпочитаете классический подход стилизации, то на самом деле нет разницы где хранить файл стилей — в родительском компоненте или в дочерних (конкретно в Вашем случае).
Но я настоятельно рекомендую рассмотреть технологии для стилизации которые более органично сочетаются с парадигмами реакта
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы