onChange 在每次击键时触发

Yas*_*ara 2 javascript dom-events reactjs

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

<input
    type="text"
    required
    className="form-control"
    onChange={this.onChangeUsername}
/>
Run Code Online (Sandbox Code Playgroud)

onChangeUsername()由该函数处理

onChangeUsername(e) {
    console.log(e.target.value);
    this.setState({
      username: e.target.value,
    });
}
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

Jua*_*des 9

React 的onChange行为与原生HTML 更改事件不同。它的行为更像输入事件。如果您希望在用户离开字段后收到通知,建议使用onBlur

请参阅https://linguinecode.com/post/onblur-vs-onchange-react-text-inputsReact 和文本输入 - 使用 onBlur 还是 onChange?