Не удается прочитать свойство 'sureClientConfigured' со значением NULL в Firebase Firestore - ReactJS - PullRequest
0 голосов
/ 24 октября 2019

Я использую redux и redux-saga в своем приложении реагирования, и у меня есть эта сага, которая запускается для регистрации пользователей.

function* registerWithPassword(user: UserInput) {
  try {
    const userData: firebase.auth.UserCredential = yield call(
      registerUser,
      user.email,
      user.password
    );
    if (userData === null || userData.user === null) {
      yield put(
        authFailureAction.failure({
          register: 'Unable to register user',
        })
      );
    } else {
      const firestore = firebase.firestore();
      const userDoc: firestore.DocumentReference = yield call(firestore.doc, `${USERS}/${userData.user.uid}`);
      yield call(
        userDoc.set,
        { labels: [], pinnedNotes: [], name: user.name },
        { merge: true }
      );
      yield call(console.log, 'Updated doc')
      yield put(firebaseUserAction.success(userData));
    }
  } catch (e) {
    yield put(
      authFailureAction.failure({
        register: e.message || 'Unable to register user',
      })
    );
  }
}

Эти действия являются просто утилитами для создания действия для отправки в избыточность.

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

Я продолжаю получать эту ошибку, когда firestore пытается записать данные в firebase Cannot read property 'ensureClientConfigured' of null firebase.

Я попытался найти это в Google, и, к моему удивлению, никто никогда не получал эту ошибку.

Вот мой файл конфигурации firebase

import * as firebase from 'firebase';
import 'firebase/firestore';

const config = {
  apiKey: process.env.REACT_APP_FIREBASE_API_KEY,
  authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,
  databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,
  projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
  storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
  messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,
};

if (firebase.apps.length === 0) {
  firebase.initializeApp(config);
}

export default firebase;

1 Ответ

0 голосов
/ 29 октября 2019

моя гипотеза, что Cannot read property 'ensureClientConfigured' of null firebase произошло, потому что приложение не может распознать инициализацию вашего firebase.

Полагаю, вам следует создать переменную в вашем конфигурационном файле firebase:

export const firestore = firebase.firestore()

, а затем импортировать эту переменную в файл вашей функции. и измените свой функциональный файл в соответствии с новыми обновлениями.

пожалуйста, дайте мне знать, если это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...