onChange 在每次击键时触发

onChange triggers on every keystroke

我在组件的输入框中有一个onChange事件属性,

<input
    type="text"
    required
    className="form-control"
    onChange={this.onChangeUsername}
/>

由这个 onChangeUsername() 函数处理

onChangeUsername(e) {
    console.log(e.target.value);
    this.setState({
      username: e.target.value,
    });
}

每次击键都会调用此函数。这是为什么?

因为 onChange 事件。听起来,应用于该输入的每个更改都会触发函数 onChangeUsername

React 的 onChange 与原生 HTML change event. It behaves more like the input event 的行为不同。如果想在用户离开字段后得到通知,建议使用onBlur.

https://linguinecode.com/post/onblur-vs-onchange-react-text-inputs and React and text inputs - use onBlur or onChange?