작성
·
224
0
안녕하세요,
8강 끝부분을 따라가고 있는 중입니다.
프로젝트에서 npm start 해놓고 expo go 어플로 실시간으로 확인하면서 작업을 진행 중인데요, 새로고침 할 때(r눌러서)는 괜찮은데, VS Code에서 저장을 해서 자동으로 리랜더링 될때마다 아래와 같은 에러 메세지가 콘솔 창에 나타납니다.
[FirebaseError: Firebase: Error (auth/already-initialized).]
특별히 뭐가 안되거나 하는건 아닌데... r 눌러서 아예 앱을 새로고침하면 뜨지않습니다. 어디선가 중복으로 초기화하고있다는 뜻일까요?
firebase.js 파일 코드 첨부합니다! 추가로 보여드려야 하는 다른 코드가 있다면 말씀 부탁드립니다. screen 부분은 제가 다르게 가져가고 있는데 이 외에 기능부분에 대한 것들은 강의와 동일하게 진행 중입니다.
firebase.js
import { initializeApp } from 'firebase/app';
import { firebaseConfig } from '../../env';
import { getReactNativePersistence, initializeAuth } from 'firebase/auth';
import AsyncStorage from '@react-native-async-storage/async-storage';
export const initFirebase = () => {
// Initialize Firebase
try {
const app = initializeApp(firebaseConfig);
initializeAuth(app, {
persistence: getReactNativePersistence(AsyncStorage),
});
return app;
} catch (e) {
// eslint-disable-next-line no-console
console.error(e);
}
};
답변 2
0
0
안녕하세요,
코드를 다음과 같이 수정해보세요.
import { initializeApp, getApps, getApp } from 'firebase/app';
import { firebaseConfig } from '../../env';
import {
getReactNativePersistence,
initializeAuth,
} from 'firebase/auth/react-native';
import AsyncStorage from '@react-native-async-storage/async-storage';
export const initFirebase = () => {
let app = null;
if (getApps().length === 0) {
try {
app = initializeApp(firebaseConfig);
initializeAuth(app, {
persistence: getReactNativePersistence(AsyncStorage),
});
} catch (e) {
// console.log(e);
}
} else {
app = getApp();
}
return app;
};