我正在尝试使用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}} />
);
}
}
答案 0 :(得分:0)
在阅读了文档和实验之后,我用Callback Refs重写了所有内容。一切都通过这种机制起作用。