如何解决读取输入值总是返回未定义的ReactJS
尝试读取输入值时,即使我在控制台中自己进行操作,也总是会说不确定的内容。
这是我的代码:
render() {
return (
<div onLoad={Startup()}>
<input onKeyUp={CheckInput} id={"messageinput"} placeholder={"Bericht verzenden..."}
className={"messageinput"}/>
<img className={"messageinputoption"} src={require('./Images/defaultPF.png')}/>
<img className={"messageinputoption"} src={require('./Images/defaultPF.png')}/>
<img className={"messageinputoption"} src={require('./Images/defaultPF.png')}/>
</div>
);
}
}
export default Server;
function CheckInput(event) {
const input = document.getElementById("messageinput");
if (event.keyCode === 13) {
if (IsCommand(input.value)) {
let command = CheckCommand(input.value.substring(1,input.value.indexOf(" ")),input.value.substring(input.value.indexOf(" ") + 1));
} else {
SendMessage(input.value);
}
input.value = "";
}
}
解决方法
我无法使用getElementById
复制您的问题,但是我建议您使用currentTarget
来获取Element
,从而使CheckInput
函数更具可重用性。只需将输入变量声明更改为:
const input = event.currentTarget;
或者更好的是,将您的输入重做为受控输入。参见https://reactjs.org/docs/forms.html。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。