2017-12-09 26 views
1

これは私がfirebase認証と呼ばれる方法である「メールがひどくフォーマットされて」 :反応し、ネイティブfirebase

enter image description here

このエラーは私が入力していない場合でも、すべての電子メールやパスをポップ単語を入力してsubmitを押します。

+0

onButtonPressメソッドを表示できますか?何が問題なのですか?はい空ではない形式の電子メール –

+0

@cladClad私は質問を更新しました。 –

答えて

0

デフォルトスペースのためエラーが発生していますthis.state.emailが原因です。 trim()を使用してサーバーに送信すると、エラーが発生しなくなりました。これは動作するコードです。

const {email, password} = this.state; 
    this.setState({ error: '', loading: true }); 
    firebase.auth().signInWithEmailAndPassword(email.trim(), password) 
     .then(this.onLoginSuccess.bind(this)) 
     .catch((err) => { 
      firebase.auth().createUserWithEmailAndPassword(email.trim(), password) 
       .then(this.onLoginSuccess.bind(this)) 
       .catch(this.onLoginFailed.bind(this)); 
     }); 
0

あなたのコードは間違っています。あなたの作成機能はログインキャッチブロックにあります。それらを分離し、ユーザーを作成するときにこれを行うだけです。つまり、登録を意味します。

firebaseRef.auth().signInWithEmailAndPassword(this.state.email, this.state.password).then((userData) => {//userData}).catch((error) => {//error});

とも、あなたが

ノートをサインアップしたときに記録されています:ログイン用の

firebaseRef.auth().createUserWithEmailAndPassword(this.state.email, this.state.password).then((userData) => {//userData}).catch((error) => {//error});

はfirebaseRefはFirebase.initializeApp(設定)の参照です。

+0

あなたのコードで試してみましたが、同じエラーが発生しました。 コード: "auth/invalid-email"、メッセージ: "電子メールアドレスのフォーマットが間違っています。 –

+0

登録手続きは成功しましたか?電子メールをサービスに正しく送信していますか?もしあなたがすべてのことを正しく行えば、なぜ起こっているのか分かりません。 – Barbaros

+0

はい、私はthis.state.emailに余分なスペースがあることを発見しました。 trim()はその問題から私を救った。 新しい問題が発生しました。 ネットワークエラー(タイムアウト、接続の中断、到達不能など)が発生しました。 –

関連する問題