inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]

로그 아웃 & 리덕스 스토어에서 유저 정보 지워주기

firebase.auth().onAuthStateChanged()에 대해서 질문합니다.

3067

특별한 지렁이

작성한 질문수 39

0

안녕하세요. 항상 강의 잘보고 있습니다.

제 질문은

useEffect의 []안에 딱히 넣은 변수가 없어서 onAuthStateChanged는 한번만 실행된것 같은데

user가 바뀔때마다 바뀐 정보가 실시간으로 업데이트 되는 것인가요?? 어떻게 그게 가능한지 지금으로서는 잘 이해가 안되네요^^; onAuthStateChanged메소드 대신에 currentUser프로퍼티 사용하면 맨 처음 브라우저로 열었을때는 유저가 널로 오다가 두번째부터 그 전에 저장되어있던 유저가 오는데 그 이유는 무엇인지...

onAuthStateChanged가 실시간 양방향 메소드라서 계속 통신하고 있는 거라면 어떤거는 실시간 양방향 통신을 하고 어떤거는 안하는데 어떻게 구분할 수 있는지 알 수 있을까요?? (죄송합니다ㅜ 머릿속이 혼란스러워 질문이 두서가 없네효...)

저는 Auth가 세션개념이라고 생각했는데.. 유저 전용 데이터베이스인가요??? 한번 로그인 하면 언제 다시 들어가도 유지 되는데 컴퓨터를 껏다 키면 로그인 정보 사라지게 할 순 없을까요?? ㅜ_ㅜ

또.. auth에 photoURL 업데이트하고 데이터베이스에 이미지URL 따로 저장하는 이유가 무엇인가요??

이상입니다..

firebase react 웹앱

답변 2

0

특별한 지렁이

답변 감사드립니다 !!

0

John Ahn

안녕하세요  쭁님 

파이어 베이스의 장점중에 하나가 실시간 통신을 굉장히 쉽게 가능하게 해준 다는 것입니다 ~ 
강의중에   Rest VS Websockets이란 부분있죠?   거기에 관한 부분입니다.

그래서 여기 onAuthStateChanged 메소드에 대해서 설명하는 부분을 보시면   obseerver 옵저버라고 나와있잖아요 ~ 그래서 이거는 계속 지켜보고 있는걸 얘기하는 것입니다.  그러기에  한번만 useEffect에 넣어주시면 계속 관찰을 하고 있습니다.

그리고 원래  애플리케이션에서는 User 데이터베이스를 통해서  인증같은 부분을 다 처리할 수 있겠지만 

Firebase에서는   Auth 서비스를 따로 두어서  그걸 통해서 훨씬 강한 인증과 Oauth(소셜 로그인)등 여러  가지 방법으로 로그인 하는걸 쉽게 구현해 두어서     Auth 서비스와   User 데이테베이스 모두에 정보를 넣어주셔야합니다 ~  
수고하세요 ~ 

ESlint

0

133

1

현 강의자료는 이해는 했는데, 그럼 전 강의자료는 이젠 활용을 못하나요?

0

97

0

배포 후 빈페이지

0

148

1

notification 관련 질문에 AI가 엉뚱하게 대답하여 다시 질문합니다.

0

139

1

notification 관련 부분은 예전 강의를 들어야 하나요?

0

141

1

npm run build시 오류가 있습니다.

0

221

1

이미지 업로드시 403에러가 발생하는데 해결법이 있을까요?

0

769

1

이건 어디에 저장이 되는 것인가요?? redux에 저장이 되는 것인가요??

0

255

1

eslint 질문 있습니다.

0

233

1

npm create react app

0

313

2

[리덕스 미들웨어]강의 중에 createStore에서 막혔습니다.

0

526

3

회원가입 유효성 부분 페이지 안뜨는 이유 좀요....

0

283

1

강의 pdf 파일

0

431

2

파이어베이스 파일 삭제, 사진 업로드 기능 오류

0

329

1

firebase 초기화 오류

0

595

1

mime-types 패키지를 import 할 때 에러 발생

0

279

1

리덕스 스토어에 로그인 유저 정보가 저장이 되지 않는 문제

0

340

1

강의 리뉴얼 일정을 알 수 있을까요?

0

369

1

완성본으로 제공된 코드를 구동시켜보려면

2

407

1

DB와 강의 리뉴얼

0

504

1

next.js 환경에서 이 수업을 들을 수 있나요?

0

388

1

Cannot read properties of undefined (reading 'isLoading') 오류 해결법 혹시 알 수 있을까요...

0

508

1

addChatRoom 함수 작성시

0

276

1

강의 도표 자료 다운을 받으면, zip파일에 아무것도 들어있지않다고 나옵니다.

0

245

1