Firebase Auth에서 초기화할 current User의 확인 방법을 기다립니다.
3031 단어 FirebaseJavaScriptTipsrabeetech
개시하다
분명히 로그인했는데 다음 대상
null
은 곤란한 일이 있나요?이번에는 이 이유와 대책을 소개하고 싶습니다.
까닭
Firebase Auth의 로그인 정보 초기화
onAuthStateChanged
가 불이 났을 때 이뤄졌기 때문이다.즉
onAuthStateChanged
불이 나기 전에 참조currentUser
하면 로그인을 해도 null
되는 것이다.대책
모드 1
대책으로
onAuthStateChanged
에 등록된 함수에 user
데이터를 직접 참조해 주십시오.firebase.auth().currentUser; // ログインしてても何故か null
마지막unsubscribe
에 등록된 함수도 해제하는 것을 잊지 마세요!모드 2
비동기적으로 쓰는 방법이 좀 어려운 사람도 이렇게 회피할 수 있다.
var unsubscribe = firebase.auth().onAuthStateChanged((user) => {
if (user) {
// ログインしていれば中通る
console.log(user); // ユーザー情報が表示される
}
// 登録解除
unsubscribe();
});
이쪽 모드onAuthStateChanged
에서 대상을 되돌려줌으로써 얻은user 대상을 Resolve하여 사용하는 쪽에서 사용할 수 있음Promise
.나는 네가 동기처럼user 데이터를 참조할 수 있다는 것을 알게 될 것이라고 생각한다.
끝말
지금까지 Firebase Auth의 Tips였습니다.
앞서 우리 멤버들은 "분명히 로그인했는데 왜 로그인을 안 했어요?"라는 질문이 내게 알려준 내용을 보면 많은 사람이 여기에 걸려 넘어졌을 거라고 생각해 기사를 썼다.
조금이라도 참고해도 좋다.
Reference
공식 문서도 이 부근에 상세하게 쓰여 있다.
Reference
이 문제에 관하여(Firebase Auth에서 초기화할 current User의 확인 방법을 기다립니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/phi/articles/firebase-auth-wait-for-initialization텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)