此时出现此错误:
未捕获的类型错误:无法读取 null 的属性“值”
我在下面的渲染函数中调用它:
<input type="submit" className="nameInput" id="name" value="cp-dev1" onClick={this.writeData}/>
我也试过在这里调用它
componentWillMount: function(){
var name = document.getElementById('name').value;
},
如何获取输入文本字段的 ID 并读取该值并确保它不为空?
我认为在我尝试读取元素后 DOM 正在加载,因此它为 null
最佳答案
您需要在 componentDidMount
生命周期中拥有您的函数,因为这是在加载 DOM 时调用的函数。
利用refs
访问DOM元素
<input type="submit" className="nameInput" id="name" value="cp-dev1" onClick={this.writeData} ref = "cpDev1"/>
componentDidMount: function(){
var name = React.findDOMNode(this.refs.cpDev1).value;
this.someOtherFunction(name);
}
有关 How to access the dom element in React 的更多信息,请参阅此答案
关于javascript - React 中的 getElementById,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40256673/