After creating new user with auth.createUserWithEmailAndPassword and updating profile, firebase auth listener (onAuthStateChanged) showing displayName in user object but it is not accessible. Uploading screenshots of this behavior as well as code.
null - displayName displayName can be seen on expanding object
export var signup = userData => {
return async dispatch => {
try {
var { username, email, password } = userData;
var createdUser = await auth.createUserWithEmailAndPassword(
email,
password
);
//updating auth profile
await createdUser.user.updateProfile({
displayName: username,
email: email
});
//storing user info in firestore
var userObj = {
username: username,
email: email,
joinedAt: serverTimestamp()
};
await firestore
.collection("users")
.doc(`${createdUser.user.uid}`)
.set(userObj);
//setting up auth state
dispatch(
setCurrentUser({
username: username,
uid: createdUser.user.uid
})
);
} catch (error) {
console.log(error.meesage)
}
};
};
componentDidMount = () => {
auth.onAuthStateChanged((user) => {
if(user){
console.log(user)
console.log(user.uid)
console.log(user.displayName);
console.log(user.email)
}
})
};