如何从React.js中的div获取ID?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (2594)

所以我试图在反应中检索div属性中的数据。JSFiddle显示了我遇到的问题。事件触发后,this.state.value设置为空字符串。

我在读取另一个堆栈溢出帖后开始使用div的data- *属性,但我不能使用jQuery,所以我切换到id。有任何想法吗?

class GettingAttributes extends React.Component {
  constructor(props) {
    super(props)
    this.state = {value: 'Hello!'};

    this.bar = this.bar.bind(this);
  }

  bar(e){
    this.setState({value: e.target.id})
  }

  render() {
    return (
      <div id="foo" onClick={this.bar}>
        <p>{this.state.value}</p>
      </div>
    );
  }
}
提问于
用户回答回答于

你可以做到这一点id,以及data-*属性。但优先方法是 data-*属性。

请考虑您的解决方案的JSFiddle链接。

你应该在要从中提取数据的元素上设置ref,然后可以使用它来设置状态数据。在代码中,如果替换onClick={this.bar}onClick={this.barById}then代码将从中提取数据,id而在以前的情况下,它将从data-*属性中提取数据。

用户回答回答于

扫码关注云+社区

领取腾讯云代金券