【发布时间】:2020-12-11 07:30:04
【问题描述】:
我正在将一个旧网站转换为 React,并且不想更改之前编码的所有 CSS 文件。许多元素当前通过使用 id 设置其样式。有没有办法让className={styles["#topBar"]} 正确设置样式,而无需删除# 并将其替换为CSS 文件夹中的.?
【问题讨论】:
-
谢谢,但我不想更改#。我只是希望能够将 CSS 与 className 一起使用
-
id 和类具有不同的特性,因此可能不推荐使用任一选项,并且很可能不会按预期呈现。 MDN Web Docs: Specificity
-
我想了很多,但希望有办法。 React 中有没有一种方法可以使用 ID 来设置元素的样式而不使用 className?尽量避免重命名一堆旧属性
-
是的,只需在标准元素中正常使用它,当将其作为道具传递时,只需将其声明为该道具名称。
return (<div id="myID">)或从道具传递<MyComponent id="compId" />...MyComponent = ({id}) => {... return (<div id={id}>)}。文档:All Supported HTML Attributes