Reactjs 在JavaScript中,cannot document.getElementById为null,即使元素位于DOM中
在React中,我使用了一个组件,它具有Reactjs 在JavaScript中,cannot document.getElementById为null,即使元素位于DOM中,reactjs,Reactjs,在React中,我使用了一个组件,它具有。当DOM加载组件时,在组件的componentDidMount()中,我将尝试搜索元素 componentDidMount(){ debugger; let ele = document.getElementById('location'); console.log('ele', ele) } componentDidMount(){ debugger; var Value = React.findDOMNode(
。当DOM加载组件时,在组件的componentDidMount()
中,我将尝试搜索元素
componentDidMount(){
debugger;
let ele = document.getElementById('location');
console.log('ele', ele)
}
componentDidMount(){
debugger;
var Value = React.findDOMNode(this.refs.location).value;
console.log('ele', ele)
}
<input type="text" ref="location" />
当它在调试器
处中断时,我查看DOM(Chrome中的元素选项卡),上面的输入元素已经存在,但是ele
在控制台中仍然为空
为什么??元素已经加载到DOM中,但我仍然找不到它?
谢谢您的代码应该可以工作。但为什么要使用jquery方法呢
ReactDom.findNode
用于此。您可以添加ref
来访问元素
componentDidMount(){
debugger;
let ele = document.getElementById('location');
console.log('ele', ele)
}
componentDidMount(){
debugger;
var Value = React.findDOMNode(this.refs.location).value;
console.log('ele', ele)
}
<input type="text" ref="location" />
componentDidMount(){
调试器;
var Value=React.findDOMNode(this.refs.location).Value;
console.log('ele',ele)
}