Илья, Lander, всё правильно сказано. Сначала надо понять базовые вещи, как всё работает под капотом, а только потом уже писать на высокоуровневых инструментах.
Я собеседовал более сотни людей, которые типа эксперты symfony/laravel/angular/react, а на деле не знают про замыкания/прототипы/лсб/ооп/типизацию и прочие базовые вещи.
Люди хотят войти в "перспективный" мир IT. Читают про популярные инструменты, читают их доки, и делают приложения, не зная, как всё устроено под капотом. И на выходе получаются отборные какули, которые потом устанешь разгребать.
Дмитрий Локшин, да, всё верно. Например, я пишу React приложение и использую BEM подход.
Я хочу иметь возможность перейти из шаблона сразу в объявление css класса. Более того, такие "вложенности"/"наследования" немного сложнее читать. Лично мое мнение)
Не так часто у нас в СНГ(а может и не только у нас) удается найти JS/React разработчика, который владеет CSS/SCSS на достаточном уровне для такой задачи.
heIIfire, вообще, в React всё делается через композицию компонентов.
И даже если вешать декоратор на методы компонента - по сути, такая же декорация.
Я использовал наследование лишь однажды за весь опыт с React, и то, по той причине, что на тот момент не владел знаниями по композиции.