【发布时间】:2020-05-01 07:43:33
【问题描述】:
我有以下几点:
className={`${this.props.match.params.id}.alert`}
/* desired output = `className="style_alert__3TLGs"` */
/* instead output = `className="style.alert"` */
如果我硬编码类名(例如{style.alert}),我会得到所需的输出。似乎结果是一个字符串,并且没有由 css-module 包处理(可能是因为它是在之后渲染的?),我该如何更改它以便 className 由 css-module 处理并按我的意图捆绑?
参考文档:css-modules
【问题讨论】:
-
我不明白你想做什么。为什么要向班级发送 id ?
${this.props.match.params.id}.alert会变成className="48.alert"。 -
当您使用字符串插值时,结果将是一个字符串,这并不意外。
this.props.match.params.id的值是多少? -
@ValentinDuboscq - 非常简单,id 代表一个 css 模块,我想调用一个可重用的组件,样式会根据使用的 id 而变化。然后由 css-modules 包处理。这是一个非常简单的例子:create-react-app.dev/docs/adding-a-css-modules-stylesheet
-
@DrewReese 上面示例中的值是“风格”,我知道这并不意外,但我的问题是如何使用可能每次都不同的道具来达到我想要的结果并拥有它由 css-modules 包正确处理?
-
@DrewReese 我认为他想根据 id 动态导入不同的 css 模块。也许我不太明白,但我认为这不是做你想做的事的权利。
标签: reactjs css-modules react-css-modules