【发布时间】:2019-10-24 17:17:32
【问题描述】:
我在我的 react 应用程序中使用 redux 和 redux-saga,我有这个 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',
})
);
}
}
这些动作只是构造一个动作以分发给 redux 的工具。
我是先注册用户,然后在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;
【问题讨论】:
标签: reactjs firebase google-cloud-firestore