javascript - ReactJS:JSX 属性名称的模式

标签 javascript svg reactjs

我有以下 JSX 示例,它是一个 SVG 元素:

<svg className={className} viewBox="0 0 48 48" version="1.1"
  onClick={this.props.onClick} aria-label="Some random label">
  <g fill="none">
    <line strokeWidth="2" x1="24" y1="14" x2="24" y2="34"/>
    <line strokeWidth="2" x1="14" y1="24" x2="34" y2="24"/>
  </g>
</svg>

在原始 HTML 中,strokeWidth 表示为 stroke-width。在我看来,所有 JSX 属性都遵循驼峰格式。因此,我立即想到添加 ariaLabel 而不是 aria-label

问题:JSX 属性是否有模式?如果是,为什么 aria-* 不遵循这种模式?

事实上,我喜欢使用 stroke-* 的想法,这样我就不必将我的原始 svg 预处理为 reactjs。

最佳答案

aria 属性是标准的 html 属性,React 决定保持原样的格式。他们确实指定您制作的任何自定义 html 属性都应以 data-* 为前缀,并且在此页面上似乎建议仅对这些特殊情况使用 attribute-* 语法 https://facebook.github.io/react/docs/jsx-gotchas.html

标准格式是驼峰式https://facebook.github.io/react/docs/dom-differences.html

关于javascript - ReactJS:JSX 属性名称的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33968069/

相关文章:

javascript - 将对象转换为数组并相应地分配其位置

javascript - 在angularjs中读取表单输入上的文件内容

reactjs - 如何使用 FormData 发送 event.target 以模拟函数

reactjs - 模拟supabase-js supabase.auth.signUp

mysql - 创建预订系统,但我很难将输入日期插入 MySQL 表

javascript - 如何在 React 中为列表元素定义 css 类?

javascript - d3 selection.attributes.key.nodevalue 不返回当前的 DOM 值

javascript - 为什么这个 Javascript - SVG CSS 操作不起作用?

html - 仅使用 CSS Hover 沿不同方向旋转多个 SVG 图层

javascript - SVG 多边形形状与图像