Firebase 和 React Object 可能是"空"。TS2531



我正在 react 和 firebase 中开发一个应用程序,当我尝试在数据库中写入时显示此错误,我不知道为什么:

对象可能为"空"。 TS2531 它标记了此代码

export async function registerUser(email: string, password: string, name:string, lastname: string, phoneNumber: string){
firebase.auth().createUserWithEmailAndPassword(email,password).then(cred => {
return db.collection('users').doc(cred.user.uid).set({
^
'name': name,
'lastname': lastname,
'phone-number': phoneNumber
})
}).then(() => {
redirectTo('/login')
})

从 createUserWithEmailAndPassword 的 API 文档中可以看出,cred是一个 UserCredential 对象。 该文档建议其user属性可以为空。 在这种情况下,它是否可以为空并不重要 - TypeScript 建议你无论如何都应该检查它以避免可能的崩溃。 所以,就这样做:

firebase.auth().createUserWithEmailAndPassword(email,password).then(cred => {
const user = cred.user
if (user) {
// use user safely here
}
})

相关内容

  • 没有找到相关文章

最新更新