什么时候我应该使用'className'而不是'class',反之亦然?

问题描述 投票:1回答:2

我正在做我的第一个react应用程序,我遇到了一些有趣的事情,我有时会使用 className 在...上 class 在反应。我只是想知道它们是否可以互换,还是有原因的?我还注意到,当我使用 class 检查元素控制台问我是不是指的是 className,没有错误,只是问。

先谢谢你

html css reactjs class classname
2个回答
2
投票

根据response 文件:

要指定一个CSS类,使用className属性。这适用于所有常规DOM和SVG元素,如 <div>, <a>,以及其他。

如果你使用React与Web Components(这是不常见的),使用类属性来代替。

如果您使用 class 作为一个属性,它不需要任何验证就可以传递给底层的 dom 元素,但这不是首选的方法。className 是一个被react理解的属性。

React文档推荐使用 cannonical React attribute 名字,而不是传统的Javascript命名,所以即使React允许属性传递给DOM,它也会给你一个警告。


0
投票

这又是一个识别未知DOM属性的 "功能"。

在过去,React曾经忽略未知的DOM属性。如果你写的JSF有一个React不识别的属性,React会直接跳过它。

变了React 16 并给出一个警告。在React中使用DOM组件的方式并没有改变,但现在你有了一些新的功能。

React一直为DOM提供了一个以JavaScript为中心的API。由于React组件经常同时使用自定义和DOM相关的道具,因此React使用camelCase约定就像DOM API一样是有意义的。

至于 className:

要指定一个CSS类,使用className属性。这适用于所有常规DOM和SVG元素,如 <div>, <a>,以及其他。

如果你使用React与Web组件(这是不常见的),使用类属性来代替。

请看 用JSX指定属性:

由于JJSX比HTML更接近JavaScript,React DOM使用camelCase属性命名惯例而不是HTML属性名。

例如,class在JSF中变成className,tabindex变成tabIndex。

© www.soinside.com 2019 - 2024. All rights reserved.