Ответ 1
У нас была аналогичная проблема в использовании CSS-модулей. Я открываю проблему https://github.com/css-modules/css-modules/issues/102, и мне было предложено сделать одно из следующих действий:
-
Клонируйте компонент и добавьте к нему новый атрибут className и создайте новый класс со старым классом:
// Card.js React.cloneElement(component, { className: styles.card, }); // styles.cssmodule .card { composes: card from "...card.cssmodule"; }
-
Оберните компонент в другой элемент и добавьте к нему имя класса:
<div className={styles.card}><MyComponent /></div>
Мне не понравился ни один из этих подходов, и я бы хотел использовать силу css-модулей, которые являются частью модулей. Итак, у нас есть вилка css-loader
которая позволяет вам использовать :ref()
для ссылки на импортированные классы:
:import('...card.cssmodule'){
importedCard: card;
}
:ref(.importedCard):hover .stat {...}