반응형
AuthStateChanged에서 Firebase 수신 중지
^3.0.0 버전에서는 인증 상태 변경 수신기를 제거하는 데 어려움을 겪고 있습니다.
설명서에 따라 수신기를 시작하려면:
firebase.auth().onAuthStateChanged(function (user) {
// handle it
});
그러나 문서에서 인증 상태 변경 수신기 제거에 대한 내용을 찾을 수 없습니다.파이어베이스에 고유한 기능이 있습니다.인증 클래스 호출됨removeAuthTokenListener안타깝게도 문서화되지 않았습니다(소방 기반 문서 참조).
브라우저의 웹 콘솔을 사용합니다.
var auth = firebase.auth();
auth.removeAuthTokenListener;
에서는 하나의 매개 변수를 사용하는 함수 정의를 인쇄합니다.저는 다음을 시도했습니다.
this.authListener = firebase.auth().onAuthStateChanged(function (user) {...});
firebase.auth().removeAuthTokenListener(this.authListener);
하지만 아무 소용이 없었어요
문서에 따르면,onAuthStateChanged()함수 반환
관찰자에 대한 구독 취소 기능입니다.
따라서 다음과 같은 작업을 수행할 수 있습니다.
var unsubscribe = firebase.auth().onAuthStateChanged(function (user) {
// handle it
});
그리고 나서:
unsubscribe();
Frank van Puffelen은 이미 이에 대해 매우 잘 답변했지만, 여기 사용자 데이터를 가져오는 React 구성 요소에 대한 사용 사례가 있습니다.이러한 구성 요소는 구성 요소가 마운트 해제되면 구독을 취소해야 합니다. 그렇지 않으면 각 구성 요소에 대한 메모리 누수가 발생합니다.
React.useEffect(() => {
let unsubscribe;
const getUser = async () => {
unsubscribe = await firebase.checkUserAuth(user => setUser(user));
};
getUser();
return unsubscribe;
}, []);
언급URL : https://stackoverflow.com/questions/37370224/firebase-stop-listening-onauthstatechanged
반응형
'programing' 카테고리의 다른 글
| 수신기를 사용하여 데이터베이스의 데이터 변경 탐지 (0) | 2023.06.13 |
|---|---|
| django 테스트를 실행할 때 sql 쿼리를 보는 방법은 무엇입니까? (0) | 2023.06.13 |
| 디렉토리에 대한 cd-ing 없이 명령줄에서 Python 스크립트를 사용하려면 어떻게 해야 합니까?PYONPATH인가요? (0) | 2023.06.13 |
| 파이썬에서 줄임표 슬라이싱 구문을 어떻게 사용합니까? (0) | 2023.06.13 |
| null 값을 텍스트로 바꾸는 방법은 무엇입니까? (0) | 2023.06.13 |