Javascript Firebase:电子邮件格式不正确

Javascript Firebase:电子邮件格式不正确,javascript,react-native,firebase-authentication,formik,yup,Javascript,React Native,Firebase Authentication,Formik,Yup,我正在使用react native,一个formik表单,是的验证和firebase身份验证。但是,当我尝试登录时,不断出现以下错误: createUser错误:[错误:电子邮件地址格式不正确。] 这是我的密码: Firebase API: export const signInUser = (email, password) => { console.log('signInUser has been called') firebase.auth().signInWithEmailAndP

我正在使用react native,一个formik表单,是的验证和firebase身份验证。但是,当我尝试登录时,不断出现以下错误:

createUser错误:[错误:电子邮件地址格式不正确。]

这是我的密码: Firebase API:

export const signInUser = (email, password) => {
console.log('signInUser has been called')
firebase.auth().signInWithEmailAndPassword(email.trim(), password)
    .catch((error) => console.log('signIn error: ', error));
    if (email==""){
        console.log('email empty')
    } 
    if (password==""){
        console.log('password empty')
    }
    if (email=="abc@gmail.com"){
        console.log('email not empty')
    }     
}

登录屏幕:

  createUser(){
    FirebaseAPI.createUser(this.state.email, this.state.password)
  }

  signIn(){
    FirebaseAPI.signInUser(this.state.email, this.state.password)
  }
表格:

记录实际值不会给出任何结果,因此我选择检查字符串是否为空,看起来它们是空的。
但是,当我删除formik表单并使用常规输入字段而不进行验证时,一切正常。

在使用它之前验证
this.state.email
。有关类似问题,请参阅。

错误消息非常明确:似乎
此.state.email
不是有效的电子邮件地址。您可能希望在调用
createUser
之前记录该变量。请不要使用文本内容的屏幕截图。相反,只需将文本本身添加到问题中,并使用Stack Overflow的格式化工具即可。另外:确保问题中的代码已更新,以显示生成您共享的输出的日志语句。您在其中记录值的共享代码与调用
firebase.auth().signiWithEmailAndPassword(email.trim(),password)
的关系尚不清楚。在后者中,您为
email.trim()
传递的值无效。我会记录这个精确的值(
console.log(email.trim())
),看看有什么问题。我已经更新了这个问题。感谢tipThat将问题转化为“我如何从Formik表单中获得价值?”我没有使用Formik的经验,但缩小问题范围可能有助于吸引该技术领域的专家。
<Formik 
          initialValues={{ email: '', password:'' }} 
          onSubmit={(values: FormValues, formikBag: FormikActions<FormValues>) =>
                    this.handleSubmit(values, formikBag)}
          validationSchema= {yupObject().shape({
                    email: yupString()
                    .email("Inavlid email address")
                    .required("This field is required"),
                    password: yupString()
                      .min(8, "Password must be longer than 8 characters")
                      .required("This field is required")
                    })}
        render={(formikBag: FormikProps<FormValues>) => this.renderForm(formikBag)}
      />
[09:39:16] signInUser has been called
[09:39:16] email empty
[09:39:16] password empty
[09:39:16] signIn error:  [Error: The email address is badly formatted.]