Как добавить css к дочернему компоненту из родительского компонента, если я использую модульный CSS

#javascript #css #reactjs #css-selectors #styles

#javascript #css #reactjs #css-селекторы #стили

Вопрос:

В моем проекте у меня есть 3 простых компонента: список, таблица и элемент. Компонент item является дочерним как для компонента List, так и для компонента Table, и оба компонента List и Table отображаются, скажем, по разным маршрутам («/list» и «/ table»). Каждый компонент моего приложения react имеет модульный CSS, поэтому моя проблема в том, что, когда я запускаю компонент, я хочу внести изменения в стиль CSS компонента Item, а когда я запускаю компонент, я хочу внести некоторые другие изменения в стиль CSS компонента. Есть ли какой-либо способ добиться этого без добавления нескольких классов и использования обычных CSS-файлов или CSS-дочерних селекторов.

Комментарии:

1. Я бы настроил базовый стиль для ‘.item’, который является универсальным, затем использовал имена классов родительского компонента ‘.list.item’ и ‘.table.item’ для настройки конкретного стиля? Однако это предполагает, что вы не используете css в js.

2. Это замечательная идея, но тогда мне пришлось бы условно отображать компонент item с другим именем класса в зависимости от родительского компонента, в котором я нахожусь? или, может быть, есть какой-то другой способ сделать это?

3. Не видя больше вашего кода, я не совсем уверен, что вы имеете в виду или как структурировано ваше приложение, но, как я уже сказал, мое решение больше касается традиционного css, а не css в js. Например, у меня был бы css-файл для списка, который импортируется внутри этого компонента, который также включает стили для .list.item , например.