선생님 도와주세요 ㅠㅠ (로그인, 회원가입, 콘솔 에러)
497
投稿した質問数 3
3가지의 문제가 있습니다 ㅎㅎ..
섹션 9. 기능 구현 - 회원가입 에서 다 잘됐는데, 회원가입의 Input 값을 모두 입력한 후 Sign up 버튼을 누르면 어플이 꺼집니다. 파이어베이스에 회원 데이터는 잘 들어와있습니다.
섹션 10. 인증과 화면전환에서 src\navigations\index.js 중
<NavigationContainer>{user.uid ? <Main /> : <Auth />}</NavigationContainer>
해당 코드를 입력하고 로그인을 시도하니 Render Error가 뜹니다 ㅠㅠ..
이건 에러가 아니고 경고인데, 어느 순간부터 프로젝트를 실행시키면 콘솔 워닝이 뜹니다.
코딩하는데 불편은 없지만 해결할 수 있으면 해결하고 싶어요..
소스코드 주소 : https://github.com/jeong0903/RN-chatting.git
답변 기다리겠습니다 ㅜㅜ!!


回答 1
0
안녕하세요,
2) src/navigations/Main.js 파일 <Stack.Screen> 컴포넌트에서 Profile 컴포넌트를 전달할때, component 오타가 있습니다. conponent라고 하셨네요.
3) firebase에서 로그인 상태를 유지하기 위한 방법 안내입니다. 콘솔에 나타나는 경고 메시지대로 @react-native-async-storage/async-storage 패키지를 설치하고 @firebase/auth에서 제공하는 initializeAuth 함수를 활용하면, 새로고침 하더라도 로그인 상태를 유지할 수 있습니다.
메시지에서 설명하는 방법은 다음 코드를 추가하는 것입니다.
import { initializeAuth, getReactNativePersistence } from 'firebase/auth';
import ReactNativeAsyncStorage from '@react-native-async-storage/async-storage';
const auth = initializeAuth(app, {
persistence: getReactNativePersistence(ReactNativeAsyncStorage)
});
1) 말씀하신 상황이 재현이 안되어 확인이 어렵습니다. 계속 같은 문제가 발생하나요?
즐거운 하루 되세요
감사합니다.
0
빠른 답변 감사합니다 선생님!🤩🤩
2번은 component 오타로 인한 오류가 맞았나봅니다 ㅠㅠㅠ 오타 수정과 동시에 작동이 잘됩니다.
너무 허무하고 어이가 없어서 웃음밖에 안나오네요 하 ㅠㅠㅋㅋㅋㅋ
1번은 회원가입 과정에서 프로필 사진을 안넣으면 가입이 잘 되고, 사진을 넣으면 튕기는 것 같습니다.
3번 콘솔 오류는 코드 추가를 정확히 어디에 해야하는건가요?
gpt에 물어보면 App.js에 하라고 하고, 스택오버플로에서는 firebase.js에 추가하라는 의견도 있어서
둘 다 해봤는데도 계속 다른 오류들이 꼬리에 꼬리를 무네요 ㅠㅠ
번거롭게 해서 죄송합니다만 다시 한 번 답변 기다리겠습니다!
0
안녕하세요,
위치는 작성된 코드에 따라 다릅니다. 강의에서 알맞은 위치는 firebase.js 파일입니다.
firebase.js 파일 initializeApp(config) 아래에 const auth = getAuth(app); 코드 대신 위의 답변에 작성해드린 코드를 사용하면 됩니다.
만약 프로젝트를 기기에서 실행하는 도중에 firebase.js 파일을 수정하면 에러가 나타날텐데, 그냥 새로고침하거나 다시 실행하면 됩니다.
추가로, 새로고침해도 로그인이 유지되게 하려면 추가 작업이 필요합니다.
https://firebase.google.com/docs/reference/js/auth.md#onauthstatechanged
firebase/auth에 있는 onAuthStateChanged 함수를 이용해야합니다.
onAuthStateChanged는 현제 로그인되어 있는 사용자의 상태를 반환하는 함수로, navigations/index.js 파일에서 사용하면 됩니다. 관련된 코드는 아래 링크를 확인하시기 바랍니다.
새로고침하면 로그인 화면이 잠시 나타났다가 메인화면이 나타날텐데, 이 현상은 onAuthStateChanged에 의해 user context가 수정되기 전에 로그인화면이 나타나는 것입니다. 이 문제를 해결하는 방법은 index.js 파일의 useEffect가 끝나기 전에 화면을 보여주지 않고, 로딩화면을 보여주는 것입니다.
Expo에서 제공하는 SplashScreen을 이용하면 쉽게 만들 수 있습니다.
https://docs.expo.dev/versions/latest/sdk/splash-screen/
관련된 코드도 위의 킷헙 링크에서 확인할 수 있습니다. expo 공식 문서와 위의 링크를 확인하면 어렵지 않게 만드실 수 있을것이라 생각합니다.
강의에서 다루지 않는 내용이다보니 세세한 코드 작성까지 하지 않는점 이해해 주시면 감사하겠습니다.
즐거운 하루 되세요
감사합니다.
맥북 m4에서 nvm으로 설치불가
0
103
2
expo 사용하지 않고 앱 실행 시, 데이터 불러오기
0
334
1
리덕스강의는 없나요?
0
264
1
버젼 업데이트
0
411
1
expo start중 metro bundler가 같이 실행되지 않아요
0
497
1
모바일 expo 실행오류
0
847
1
안드로이드에서 expo실행이 안되요
0
834
2
터미널 다운 및 사용방법
0
291
1
expo init 에러
0
730
2
안녕하세요. 스택네비게이션 문제 질문드립니다 ㅜ
0
318
1
배포중 에러 해결이 안되네요.. ㅜㅜ
1
3215
1
안녕하세요! 강의 Chat App - Part 1 회원가입 부분에서 firebase 관련 에러가 납니다.
0
687
1
styled-components 에러
0
396
1
OS 네이트브 코드를 개발하면서 UI 를 리액트 네이티브로
0
481
1
저장하면 바뀐값들 보여야하는데 재렌더링이 안일어납니다..
0
494
1
안드로이드스튜디오 EXPO 어플 튕깁니다 ㅠㅠ
0
276
1
styled component를 사용하면 터집니다 ㅠㅠ
0
409
1
attrs, 속성, props 가 혼란스럽습니다.
0
347
1
안녕하세요, 강의 잘 들었습니다 :) RN과 파이어베이스 관련해서 질문드릴게 있습니다!
0
576
1
자꾸 The request timed out 에러가 뜹니다 .
0
1905
1
코드 좀 봐주세요 버튼 두개가 생성이 안되요
0
278
1
expo 실행시 스타일 속성 바로 보려면 어디서 보나요?
0
425
1
자바스크립트 () => 의미는요???
0
440
2
어플 프로젝트 이름을 만든후 윈도우 탐색기에서 이름을 수정해도 되나요?
0
678
2

