【发布时间】:2019-11-19 13:05:32
【问题描述】:
我有一个具有 onChange 的输入。它位于登录,它有一个密码输入和一个提交按钮。很简单,而且效果很好(我在控制台中跟踪过)。代码如下:
...
constructor(props) {
super(props)
this.state = {
loginMode: true,
error: this.props.loginU.errorEmailMsg == null
}
this.handleEmailError = this.handleEmailError.bind(this);
}
...
<Field
component={Input}
type="email"
name="email"
required={true}
onChange={this.handleEmailError}
errorState={ this.state.error == true && this.props.loginU.errorEmailMsg != null || this.props.loginU.errorMsg != null ? true : false }
/>
我提交时出现问题,给我TypeError: this.setState is not a function的错误。并且该错误针对一个名为 onSubmit 的函数,它不需要绑定,我认为这对问题并不重要,因为当我删除“handleEmailError”时它一切正常。也许这是生命周期的问题或类似的问题,我真的不明白。当我有错误时,你能告诉我吗?
以下是我调用 onSubmit 的方式:
if (showLogin) {
form = <form onSubmit={handleSubmit(v => this.onSubmit(v))}>
<Field
component={Input}
type="email"
name="email"
required={true}
onChange={this.handleEmailError}
errorState={ this.state.error == true && this.props.loginU.errorEmailMsg != null || this.props.loginU.errorMsg != null ? true : false }
/>
...
【问题讨论】:
-
需要更多信息,能否将您的代码放在 stackblitz 上。如果没有,那么共享整个组件?
标签: reactjs