Я использую 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;