React css 以 ant 组件为条件的格式化
React css formatting conditional on ant component
我正在尝试将样式 属性 发送到组件,但不确定有什么区别..
为什么此语句有效并应用格式
<Toggle
className={styles.toggle_show} // class name gets passed as Map_toggle_show__17ukO and applied
/>
但是这个语句会抛出错误
<Toggle
className={isShow ? {styles.toggle_show} : {styles.toggle_hide}}
/>
如果我将第二个语句更新为
<Toggle
className={isShow ? "styles.toggle_show" : "styles.toggle_hide"}
/>
类名确实传递给了组件,但 css 没有得到应用。
还有为什么这个消息出现在 const 声明中
import styles from "./Map.module.scss";
const [ToggleVisibilyClass, setToggleVisibilyClass] = React.useState(
{styles.toggle_show}
);
(property) styles: {
readonly [key: string]: string;
}
Parsing error: ',' expected.eslint
试试这个:
className={isShow ? styles.toggle_show : styles.toggle_hide}
在您的案例中,正确的方法应该是这样的:
<Toggle
className={isShow ? styles.toggle_show : styles.toggle_hide}
/>
styles
实际上是一个具有字符串属性的对象,因此 {styles.toggle_show}
不是有效的语法,这就是您收到错误的原因。
这个 "styles.toggle_show"
可以正常工作,因为它是一个字符串,但不是正确的字符串。在幕后,Webpack 会为您的 类 生成一个不同的名称,通常是唯一的,您可以使用 styles.toggle_show
.
访问它
此外,如果您有一些更复杂的场景,请尝试使用 classnames 包,它可以使事情变得更容易,并且它有很多示例。
我正在尝试将样式 属性 发送到组件,但不确定有什么区别..
为什么此语句有效并应用格式
<Toggle
className={styles.toggle_show} // class name gets passed as Map_toggle_show__17ukO and applied
/>
但是这个语句会抛出错误
<Toggle
className={isShow ? {styles.toggle_show} : {styles.toggle_hide}}
/>
如果我将第二个语句更新为
<Toggle
className={isShow ? "styles.toggle_show" : "styles.toggle_hide"}
/>
类名确实传递给了组件,但 css 没有得到应用。
还有为什么这个消息出现在 const 声明中
import styles from "./Map.module.scss";
const [ToggleVisibilyClass, setToggleVisibilyClass] = React.useState(
{styles.toggle_show}
);
(property) styles: {
readonly [key: string]: string;
}
Parsing error: ',' expected.eslint
试试这个:
className={isShow ? styles.toggle_show : styles.toggle_hide}
在您的案例中,正确的方法应该是这样的:
<Toggle
className={isShow ? styles.toggle_show : styles.toggle_hide}
/>
styles
实际上是一个具有字符串属性的对象,因此 {styles.toggle_show}
不是有效的语法,这就是您收到错误的原因。
这个 "styles.toggle_show"
可以正常工作,因为它是一个字符串,但不是正确的字符串。在幕后,Webpack 会为您的 类 生成一个不同的名称,通常是唯一的,您可以使用 styles.toggle_show
.
此外,如果您有一些更复杂的场景,请尝试使用 classnames 包,它可以使事情变得更容易,并且它有很多示例。