Typescript Firebase和React对象可能为“null”。TS2531

Typescript Firebase和React对象可能为“null”。TS2531,typescript,firebase,null,firebase-authentication,Typescript,Firebase,Null,Firebase Authentication,我正在react和firebase中开发一个应用程序,当我试图在数据库中写入时显示此错误,我不知道为什么: 对象可能为“null”。TS2531 它标记了这个代码 export async function registerUser(email: string, password: string, name:string, lastname: string, phoneNumber: string){ firebase.auth().createUserWithEmailAndPassw

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

对象可能为“null”。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')
    })


从的API文档中可以看到,cred是一个对象。该文档建议其用户属性可以为null。在这个上下文中,它是否可以为null并不相关——TypeScript建议您无论如何都应该检查它,以避免可能的崩溃。那么,就这么做吧:

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

伟大的在堆栈溢出时,习惯上使用答案左侧的按钮向上投票并接受有用的答案。我没有足够的声誉:对不起!我是新来的,每个人都应该能够接受自己问题的正确答案。左边是复选标记。哦,我忘了。我以为你指的是向上箭头按钮