3

我有一个通过babel-plugin-react-css-modules插件使用 CSS 模块的组件。

在组件生命周期的某些时候,我希望能够通过直接访问 DOM 来为其计算新维度。

在我的 SCSS 样式表中,我有一个名为的类.full-width,我想将其应用于组件的 DOM 元素,以便进行计算,然后再次将其删除。

现在,由于添加类并在几分之一秒后删除它不会影响组件或其状态,我想通过直接访问 DOM 来添加和删除类,而不是通过某种方式将其与组件相关联state.

如果我这样做this.DOMReference.classList.add('full-width');,则将类full-width添加到其中,但我想添加该类的模块化版本,因为如果我这样做了styleName="full-width"(例如Component__full-width___Pjd10

有没有办法在不进行.full-width全局声明的情况下做到这一点?

我能做到这一点react-css-modules吗?

4

1 回答 1

4

好吧,我意识到我可以在变量下导入样式,而不是匿名,例如

import styles from './styles.scss'而不是import './styles.scss'然后我可以这样使用它

this.DOMReference.classList.add(styles['full-width']);

我也不需要用styleName="styles.someClass",直接用就行styleName="someClass"(只要只导入一个样式表文件就行,否则就按前者做)

于 2017-09-11T14:41:39.553 回答