如何为 css-modules className 使用 props 变量?
How to use props variable for css-modules className?
是否可以为 css-modules className 使用 props 变量?
// Component.js
import styles from "./Component.module.scss"
const Component = ({ color }) =>
<div className={`${styles.component}` `${styles.color}`>
Component
</div>
// Component.module.scss
.component { border: 1px black solid; }
.red { color: red; }
.green { color: green; }
然后我可以像这样使用 Component
:
// App.js
<Component color="red" />
<Component color="green" />
并让两个Components
分别为红色和绿色。
以下作品:
const Component = ({ color }) => {
const cssColor = color;
return (
<div className={`${styles.component}` `${styles[cssColor]}`>
Component
</div>
)
}
我想你错过了括号
const Component = ({ color }) => {
const cssColor = color;
return (
<div className={`${styles.component}` `${styles[cssColor]}`}>
Component
</div>
)
}
要使用 Component
级别 CSS,您可以使用加载器 (Reference)
将其加载到您的 webpack 中
使用 webpack 时,您可以添加加载器并将模块包含到您的 webpack.config.js 中,以使 CSS 模块与 Webpack 一起工作。
test: /\.css$/,
loader: 'style!css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]'
}
或者,您可以使用名为 classnames
的库
是否可以为 css-modules className 使用 props 变量?
// Component.js
import styles from "./Component.module.scss"
const Component = ({ color }) =>
<div className={`${styles.component}` `${styles.color}`>
Component
</div>
// Component.module.scss
.component { border: 1px black solid; }
.red { color: red; }
.green { color: green; }
然后我可以像这样使用 Component
:
// App.js
<Component color="red" />
<Component color="green" />
并让两个Components
分别为红色和绿色。
以下作品:
const Component = ({ color }) => {
const cssColor = color;
return (
<div className={`${styles.component}` `${styles[cssColor]}`>
Component
</div>
)
}
我想你错过了括号
const Component = ({ color }) => {
const cssColor = color;
return (
<div className={`${styles.component}` `${styles[cssColor]}`}>
Component
</div>
)
}
要使用 Component
级别 CSS,您可以使用加载器 (Reference)
使用 webpack 时,您可以添加加载器并将模块包含到您的 webpack.config.js 中,以使 CSS 模块与 Webpack 一起工作。
test: /\.css$/,
loader: 'style!css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]'
}
或者,您可以使用名为 classnames
的库