如何使用类名重写此条件 css?
How can I rewrite this conditional css using classnames?
在 React 组件中,我正在使用 css 模块,我得到了这个工作正常的条件 css,但我想使用 classnames 库重构它。
className = { `${active ? styles.activeLabel : styles.notActiveLabel}
${weight === 'bold' ? styles.bold : ''}`}
所以我尝试了这个,但我收到错误消息说活动总是 return false。
className={classnames({styles.activeLabel: !!active}, {styles.bold: weight === 'bold'})}
我也尝试了 styles.activeLabel: active === true,但我收到了另一条错误消息。
基本上我想要当 active prop 为真时应用 activeLabel class,如果 active 为假则应用 notActiveLabel class。如何使用 classnames?
完成此操作
JS对象的Keys必须是字符串或数字,不能设置这样的key:
// this does not work
const object = { key: 'value' }
const object2 = { object.key: true }
因此,当您需要使用动态名称获取密钥时,您必须使用方括号
// this works
const object = { key: 'value' }
const object2 = { [object.key]: true }
尝试做类似的事情:
className={classnames({ [styles.activeLabel]: !!active}, {[styles.bold]: weight === 'bold'})}
参考文献:
How do I create a dynamic key to be added to a JavaScript object variable
在 React 组件中,我正在使用 css 模块,我得到了这个工作正常的条件 css,但我想使用 classnames 库重构它。
className = { `${active ? styles.activeLabel : styles.notActiveLabel}
${weight === 'bold' ? styles.bold : ''}`}
所以我尝试了这个,但我收到错误消息说活动总是 return false。
className={classnames({styles.activeLabel: !!active}, {styles.bold: weight === 'bold'})}
我也尝试了 styles.activeLabel: active === true,但我收到了另一条错误消息。 基本上我想要当 active prop 为真时应用 activeLabel class,如果 active 为假则应用 notActiveLabel class。如何使用 classnames?
完成此操作JS对象的Keys必须是字符串或数字,不能设置这样的key:
// this does not work
const object = { key: 'value' }
const object2 = { object.key: true }
因此,当您需要使用动态名称获取密钥时,您必须使用方括号
// this works
const object = { key: 'value' }
const object2 = { [object.key]: true }
尝试做类似的事情:
className={classnames({ [styles.activeLabel]: !!active}, {[styles.bold]: weight === 'bold'})}
参考文献:
How do I create a dynamic key to be added to a JavaScript object variable