나는 반응이 처음이고 Angular 배경을 가지고 있습니다. 모든 것이 완벽하게 작동했지만 갑자기 firebase가 초기화되었는지 확인하려고 할 때이 오류가 발생하기 시작했습니다.
TypeError: _assets_Services__Firebase__WEBPACK_IMPORTED_MODULE_11__.default.isInitialised is not a function
다음은 내 App.js의 관련 스 니펫입니다.
import Firebase from './assets/Services/Firebase';
function App() {
const [isLoggedIn, setLogin] = useState(true)
const [firebaseInitialized, setFirebaseInitialized] = useState(true)
useEffect(() => {
Firebase.isInitialised().then(val => {
setFirebaseInitialized(val)
})
})
다음은 Firebase.js입니다.
class Firebase {
constructor() {
app.initializeApp(firebaseConfig);
this.auth = app.auth();
this.db = app.firestore();
}
isInitialized() {
return new Promise(resolve => {
this.auth.onAuthStateChanged(resolve)
})
}
나는 약간의 조사를했고 일부 사람들이 버전 불일치로 인해 동일한 문제를 겪고 있음을 발견했습니다. 그래서 여기 내 package.json의 스 니펫이 있습니다.
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-router-dom": "^5.2.0",
"react-scripts": "4.0.1",
Firebase
클래스 에서 인스턴스를 생성 해야 해당 메서드에 액세스 할 수 있습니다.
const firebase = new Firebase();
firebase.isInitialized()
isInitialised
정적으로 정의하지 않는 한 .
static isInitialized() {
return new Promise(resolve => {
this.auth.onAuthStateChanged(resolve)
})
}
그러면 이렇게 부를 수 있습니다.
Firebase.isInitialized()
귀하의 문제와 그것을 호출, 오타입니다 isInitialised
어떤해야한다isInitialized
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다