【发布时间】:2018-10-04 09:26:00
【问题描述】:
我正在尝试获取用户 UID 来代替 Firebase/Firestore 中自动生成的文档 ID,但由于此错误而无法获取它
TypeError: firebase.auth(...).currentUser is null
这是我的 index.js 文件:-
// Firestore Cloud Database
var db = firebase.firestore();
function reg(){
//window.alert("Working..!");
const txtname = document.getElementById('txtuname').value;
const txtEmail = document.getElementById('txtemail').value;
const txtPass = document.getElementById('txtpass').value;
//window.alert(txtname);
firebase.auth().createUserWithEmailAndPassword(txtEmail, txtPass).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// [START_EXCLUDE]
if (errorCode == 'auth/weak-password') {
alert('The password is too weak.');
} else {
//alert(errorMessage);
}
console.log(error);
// [END_EXCLUDE]
});
// Getting user id
var uid = firebase.auth().currentUser.uid;
//User Data Insertion
if(uid !=null){
db.collection("users").doc(uid).add({
UserName: txtname,
Email: txtEmail,
Password: txtPass
})
// .then(function(uid) {
// console.log("Document written with ID: ", uid);
// })
.catch(function(error) {
console.error("Error adding document: ", error);
});
}
}
【问题讨论】:
-
首先有一点个人提示:适当的代码缩进使其更易于阅读(对我而言)。其次,当您创建新用户时,您似乎正在尝试在 Firestore 中添加一些数据。在这种情况下,您必须确保 firebase 已完成创建使用:查看the docs
标签: javascript firebase firebase-authentication google-cloud-firestore