为啥 React 没有“类”属性?

Posted

技术标签:

【中文标题】为啥 React 没有“类”属性?【英文标题】:Why isn't there a "class" prop for React?为什么 React 没有“类”属性? 【发布时间】:2017-06-14 09:10:48 【问题描述】:

在来自purescript-react 的React.DOM.Props 中,DOM 节点属性几乎详尽无遗,除了 用于class 属性(我怀疑它被命名为_class,类似于_type 用于 Purescript 的语法问题)。我试着自己做

_class :: String -> Props
_class = unsafeMkProps "class"

并尝试使用它,但在检查 html 后,React 没有包含该属性!为什么是这样?为什么我不能在我的 DOM 节点中使用 class 属性?

【问题讨论】:

【参考方案1】:

您可能想在这里使用className 而不是class。这样做是为了防止 javascript class 和 DOM 属性 class 之间的混淆。

official documentation 是这样说的:

要指定 CSS 类,请使用 className 属性。这适用于所有常规 DOM 和 SVG 元素,例如 <div><a> 等。

它实际上甚至列在您链接到的页面中,here

className :: String -> Props

【讨论】:

@AthanClark,你可以使用这个并忘记className npmjs.com/package/jsx-html-class

以上是关于为啥 React 没有“类”属性?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的类没有 NSManagedObject 属性时会出现错误?

为啥 Enumerable 在 Ruby 中没有长度属性?

为啥基于类的视图返回类型对象'Profile'没有属性'model'?

为啥警告:未知事件处理程序属性`onSession`显示在 React 应用程序中?

为啥我无法在我的 React 应用程序中访问 Konva Canvas 属性?

为啥 React 说不要在 <option> 元素上设置 'selected' 属性?