【发布时间】:2013-12-21 02:02:57
【问题描述】:
React 能够呈现自定义属性,如在 http://facebook.github.io/react/docs/jsx-gotchas.html:
如果你想使用自定义属性,你应该在它前面加上 数据-。
<div data-custom-attribute="foo" />
这是个好消息,只是我找不到从事件对象访问它的方法,例如:
render: function() {
...
<a data-tag={i} style={showStyle} onClick={this.removeTag}></a>
...
removeTag: function(event) {
this.setState({inputVal: event.target????});
},
元素和data- 属性可以在html 中呈现。 style 等标准属性可以作为 event.target.style 正常访问。
而不是event.target 我试过了:
event.target.props.data.tag
event.target.props.data["tag"]
event.target.props["data-tag"]
event.target.data.tag
event.target.data["tag"]
event.target["data-tag"]
这些都不起作用。
【问题讨论】:
-
可能是一条评论对某人有帮助,我发现 React 16.7 doesnt rerenders 并更新组件的自定义 html 属性,如果您只更改了它们存储(fe redux)并绑定到组件。这意味着组件具有 fe
aria-modal=true,您将更改(为 false)推送到 aria/data 属性的存储区,但没有其他任何更改(例如组件的内容或类或变量) ) 结果 ReactJs 不会更新该组件中的 aria/data attrs。我一直在搞砸一整天才意识到这一点。
标签: javascript facebook reactjs