componentDidMount中HTMLCollection 0的长度

时间:2019-06-20 22:11:28

标签: reactjs

我正在尝试使用React组件中的元素进行操作。 问题是HTMLCollection的长度始终为0,但是在componentDidMount中,我希望DOM已经更新。 为什么会发生这种情况,如何获得元素?

class HTML extends React.Component {
  componentDidMount() {
    var root = document.getElementById(this.props.id);
    var link = root.getElementsByTagName('a');
    console.dir(link); // several elements here
    console.log('LENGTH: ' + link.length); // but length always 0
  }

  render() {
    return (  
      <div id={this.props.id} className='html' dangerouslySetInnerHTML={{__html: this.props.data}} />
    );
  }
}

1 个答案:

答案 0 :(得分:0)

在阅读了文档和实验之后,我用Callback Refs重写了所有内容。一切都通过这种机制起作用。