如何将数据属性添加到JSX中的HTML元素而没有任何值

今天

首先,我必须将属性添加到自定义元素/组件,因此我尝试在此处进行操作,但是我只能将其添加到div和input等非自定义元素中。

https://codesandbox.io/s/react-16-966eq

const dAttribute = { "data-rr-mask": "" };
const App = () => (
  <div style={styles}>
    <h4>Context </h4>
    <FeatureContext {...dAttribute} name="Context" />
    <hr />
    <h4> Error2 Boundaries</h4>
    <FeatureErrorBoundaries />
    <hr />
    <h4> Fragment</h4>
    <h2>
      <FeatureFragment />
    </h2>
    <hr />
    <h4>Reference</h4>
    <FeatureRef />
    <hr />
    <h4>Portals</h4>
    <FeaturePortal />
    <hr />
    <h4>Life Cycle</h4>
    <FeatureLifeCycle />
  </div>
);

render(<App {...dAttribute} />, document.getElementById("root"));

同样,该属性最终将用在HTML元素上,我需要它没有任何值,例如:<input data-rr-mask />另一个问题是我必须添加一个空字符串作为值;否则,应用程序将引发错误。

有没有办法做到这一点,以免您"data-rr-mask"=''进入元素内部

米哈利斯·加加努拉基斯

编辑(基于注释,OP实际上是在生成的HTML上寻找要解析的没有任何值的数据属性)

为了完全消除生成的HTML元素的值,正如用户对我的回答说的那样,您只需要为数据属性/属性使用空字符串。

export default function App() {
  return (
    <div className="App">
      <input data-rr-mask="" /> {/* will be resolved to <input data-rr-mask> on the generated HTML code*/} 
    </div>
  );
}

这是一个可行的例子。

这是一个混合两个请求的工作示例


(根据第一个请求的原始答案)

首先,您必须考虑到传递给自定义组件的每个属性都可以在components上找到props

因此,例如,如果在App名为组件上传递自定义属性,data-rr-mask则可以在App的道具下找到它

const App = (props) => {
  console.log(props) // { "data-rr-mask": "foo" }

  return <div>
    <MySecondCustomComponent {...props} /> 
  </div>
};


render(<App data-rr-mask="foo" />, document.getElementById("root"));

然后再次MySecondCustomComponent在其下props找到您的自定义属性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将值列表中的数据添加到列表中的每个数据框?

如何将动态索引从ngFor添加到html属性值

如何将xs:occurs属性组添加到元素声明中?

如何在Reducer中没有任何ID的情况下将数据添加到redux状态数组?

Javascript:如何将数据字段添加到HTML页面中的所有链接

如何将跨度添加到当前没有<span>元素的字符串中的字符?

如何将属性添加到DOM元素?

如何将没有属性的字段添加到数组react js

如何将元素添加到现有元素而不是在列表中覆盖它们?

如何将没有固定值的基准图添加到文档中

如何将HTML属性添加到(getElementById)

如何将元素的属性添加到角度指令

如何将xmlns属性添加到根元素?

如何将javascript添加到html文档的开头,以侦听对尚未添加到DOM中的元素的单击?

如何将CSS添加到没有类或ID的HTML div中

如何在Rails中将没有值的html属性添加到表单中?

如何将ngClick添加到现有元素

将html元素值添加到javascript对象属性

如何将此“ data-toggle-card”属性添加到没有键/值对的链接中?

如何将没有商品作为零值出售的周数添加到我的SQL查询中?

如何将HTML元素添加到AngularUI日历

无论数组中的元素数量如何,如何将数据添加到 HTML 表中

如何将“<”“>”添加到元素值?

Javascript:如何将类添加到没有 ID 和类的元素?

如何将品牌名称列表添加到数据框中,或者如果没有出现则添加“无”?

如何将选定的任何值添加到数组中?

如何将具有动态属性的值添加到 config.json 文件中

如何将列表元素添加到熊猫数据库中的行元素

如何将 (CSS) cursor: 属性添加到数组中的元素?