React - 在没有refs的情况下获取div的文本

chr*_*003 9 html javascript reactjs

有没有一个例子我们可以在不使用refs的情况下检索React元素的值?那可能吗?

var Test = React.createClass({

  handleClick: function() {
    alert(this.text);
  },
  render: function() {
    <div className="div1" onClick={this.handleClick}> HEkudsbdsu </div>
  }
})
Run Code Online (Sandbox Code Playgroud)

chr*_*003 37

我找到了一个有效的答案:

var Hello = React.createClass({
  handleClick: function(event) {
    alert(event.currentTarget.textContent);
  },
  render: function() {
    return <div className="div1" onClick={this.handleClick}> HEkudsbdsu </div>
  }
});
Run Code Online (Sandbox Code Playgroud)


Mat*_*ant 6

我想您可以使用 获取 DOM 节点ReactDOM.findDOMNode(this);,然后从中获取它innerText或您需要的任何内容。

var Hello = React.createClass({
  handleClick: function() {
    var domNode = ReactDOM.findDOMNode(this);
    alert(domNode.innerText);
  },
  render: function() {
    return <div className="div1" onClick={this.handleClick}> HEkudsbdsu </div>
  }
});
Run Code Online (Sandbox Code Playgroud)

这种做法有点笨拙,但它会奏效。

请注意,在 0.14 React 之前,您将只使用React而不是ReactDOM.