поэтому, когда я вхожу в свое собственное приложение для реакции, я могу получить идентификатор пользователя от моего провайдера аутентификации. При регистрации пользователь вводит имя пользователя, адрес электронной почты и пароль, и они сохраняются в коллекции Firestore 'User' с именем документа, установленным как UID.
Моя проблема в том, что когда пользователь входит в систему, я хочу отобразить имя пользователя, и это почти нормально работает с этим кодом здесь
const { user } = useContext(AuthContext);
const [userName, setuserName] = useState(null);
const userRef = firestore().collection('Users');
useEffect(() => {
userRef
.doc(user.uid)
.onSnapshot(documentSnapshot => {
setuserName(documentSnapshot.data().userName)
console.log(userName)
})
})
Я получаю имя пользователя, и оно отображается, но я продолжаю получать эту ошибку TypeError: null не является объектом (оценка 'documentSnapshot .data ')
поэтому в какой-то момент его значение равно нулю, но я могу получить имя пользователя?