React组件form的onSubmit处理函数内调用方法报未定义问题
报错原因
- 你当前使用的是React类组件写法,用箭头函数声明的
validateForm是挂载在组件实例上的方法,不属于全局作用域的函数 - 你在
formSubmit中直接写validateForm()调用时,JS会优先从当前函数作用域、上层作用域直到全局作用域查找该函数,找不到就会抛出未定义错误
修复方法
调用时加上this指向当前组件实例即可访问到你定义的方法,你用类属性箭头函数的写法已经自动绑定了this指向,不需要额外做绑定处理:
formSubmit=(e)=>{ e.preventDefault(); this.validateForm(); } validateForm=()=>{ console.log("test") }
内容的提问来源于stack exchange,提问作者NoushadM
相关产品推荐
相关产品推荐

