我在Redux应用程序中有一个带有表单的React。当用户通过onBlur
属性填写表单时,此表单会查看用户输入的内容。如果用户通过onKeyPress
按Enter键,则会执行相同的查找操作。
当此查找失败时,屏幕上会显示错误。但是,当用户按下Enter键时,会显示两个错误:一个用于onKeyPress
,另一个用于onBlur
。如果onBlur
已解雇,如何防止onKeyPress
被解雇?
我的示例代码:
<TextFieldComponent
placeholder="Type in text here"
value={this.props.text}
onBlur={() => this.props.validation()}
onKeyPress={() => this.props.validation()}
>
答案 0 :(得分:0)
onBlur不会触发onKeyPress,但仅在输入失去焦点时才会触发。
如果您不想对同一输入进行两次验证,则应始终跟踪输入值,并仅在值发生更改时进行验证。