我正在使用登录功能。我将enterKey函数放入输入中,目的是在用户按下Enter键时调用登录函数。如果输入区域中没有任何内容,它可以正常工作,但是,我发现如果输入文本区域中有一些字符,该函数将被多次调用并给出多个错误消息。例如,如果我在输入中包含N个字符,则在按Enter键后,我将收到(N + 1)条错误消息。这是我的代码:
enterKeyPress() {
window.addEventListener("keypress", e => {
if (e.keyCode === 13) {
console.log('enter key pressed!'); // I will receive this msg (N+1) times when there're N characters in the input text area
e.preventDefault();
this.loginUser(); // this is the login function I want to call after press enter key, but just once per press
}
});
}
render() {
return(
<Input
type="password"
placeholder="Password"
onChange={e =>
this.setState({ password: e.target.value })
}
onKeyPress={this.enterKeyPress()}
/>
);
}
谁能帮我这个?
隔江千里
梦里花落0921
扬帆大鱼
相关分类