bem-site / bem-forum-content-ru

Content BEM forum for Russian speak users
MIT License
56 stars 6 forks source link

bem-react-core: Добавление имён классов для модификаторов #1523

Open lilliputten opened 6 years ago

lilliputten commented 6 years ago

Не могу понять, как теперь правильно работать со стилями модификаторов. Смотрю на bem-react-boilerplate@0.1.0. Вижу два модификатора для <ExampleWithMods mod1 mod2 />. Имен классов, как привычно (<Example class="Example Example_mod1 Example_mod2">) не добавляются. Пробую добавлять вручную через mods (bem-react-core/REFERENCE.md - mods):

  public mods() {
    return {mod1: this.props.mod1};
  }

-- при этом отрабатывается только один вызов mods для всех модификаторов.

Как правильно?

Вообще, ткните, пож., в актуальные примеры кода/кейсы по bem-react-core?

awinogradov commented 6 years ago

Потому что это JS классы, которые наследуются друг от друга.

public mods() {
    return {mod1: this.props.mod1};
  }

Должен быть в каждом модификаторе. При этом с вызовом super.

public mods() {
    return {
       ...super.mods(),
       mod1: this.props.mod1
    };
  }