firebase.auth не является функцией при отправке действия входа - PullRequest
0 голосов
/ 26 октября 2019

Я пытаюсь соединить Redux и FireBase с использованием модулей Resact-Redux-FireBase (3.xx) и Res-native-Firebase v6. Я слежу за документацией и примерами из response-redux-firebase docs , учитывая их v3 руководство по миграции , но, похоже, я просто не могу заставить его работать. Когда я отправляю следующее действие при входе в систему, я получаю сообщение об ошибке: TypeError: firebase.auth is not a function

Приложение Firebase изначально инициализируется, и при создании хранилища я использую HOC ReactReduxFirebaseProvider . У кого-нибудь уже был подобный случай?

Я пытался вручную инициализировать приложение firebase, но я полагаю, что это не так для моей проблемы, так как я получаю предупреждение, что приложение по умолчанию уже инициализировано.

Спасибозаранее.


export const login = credentials => {
  return (dispatch, getState, {getFirebase}) => {
    const firebase = getFirebase();
    // console.log(firebase);      <-- here i control firebase instance and it seems ok
    firebase
      .login(credentials)          <-- error is thrown
      .then(() => {
        dispatch({type: LOGIN_SUCCESS});
      })
      .catch(err => {
        dispatch({type: LOGIN_ERROR, err});
      });

    // OR
    // doesn't work either, throws the same error
    /* firebase
      .auth()                     <-- error is thrown
      .signInWithEmailAndPassword(credentials.email, credentials.password)
      .then(() => {
        dispatch({type: LOGIN_SUCCESS});
      })
      .catch(err => {
        dispatch({type: LOGIN_ERROR, err});
      }); */
  };
};

// It should return a promise instead of an error.

1 Ответ

0 голосов
/ 28 октября 2019
import firebase from 'firebase';
...
onLogin = async (user, success_callback, failed_callback) => {
    await firebase.auth()
        .signInWithEmailAndPassword(user.email, user.password)
        .then(success_callback, failed_callback);
}

работал на меня

...