您的方法已正确定义,因此问题出在如何 调用上
validateEmail。
您以一种设置
this为
Something实例以外的方式调用它。这在事件侦听器中很常见。我想您的代码中有一些类似的代码
render:
<button onClick={this.validateEmail} />React 的推荐解决方案是在构造函数中绑定事件处理程序:
class Something extends React.Component { constructor() { super(); this.validateEmail = this.validateEmail.bind(this); } // ...}您还可以从箭头函数内部调用该方法,该函数将的值保留在
this声明的位置:
<button onClick={() => this.validateEmail()} />这种方法的缺点
onClick是每次渲染组件时都会创建一个新的处理程序。
编辑 :同一问题,不同的地方。您
removeStatus在内部调用
function,这会失去外部
this绑定。改用箭头功能:
$.ajax({ success: (response) => { // etc this.removeStatus(); }})进一步阅读:
this
在MDN上- 反应“可重用组件”文档



