在React中,我使用的组件有<input type="text" id="location" />
。当DOM加载组件时,在组件的componentDidMount()
中,我将尝试搜索元素。
componentDidMount(){
debugger;
let ele = document.getElementById('location');
console.log('ele', ele)
}
当它在debugger
处断开时,我查看DOM(Chrome中的元素选项卡),上面的输入元素已经存在,但ele
在控制台中仍然为空。
为什么呢?元素已经加载到DOM中,但我还是找不到它? 感谢
答案 0 :(得分:1)
您的代码应该有效。但是你为什么使用jquery方法? ReactDom.findNode
就是为了这个。您可以添加ref
来访问该元素。
componentDidMount(){
debugger;
var Value = React.findDOMNode(this.refs.location).value;
console.log('ele', ele)
}
<input type="text" ref="location" />