2016-08-21 1 views
2

매우 혼란스러운 문제가 있습니다. 필자는 React Native와 함께 Firebase를 사용 해왔다.하지만 잘 작동 해 왔지만 최근에 내가 연결 한 앱을 시작할 때 가끔은 내가하지 않을 때가있다 ..가끔씩 연결하는 Firebase 가끔 연결되지 않습니다. (React Native)

나는 그것이 내가하는 일과 관련이있을 것이라고 생각한다. 데이터베이스에 연결하십시오. 나는 간단한 자바 스크립트 파일에서, 데이터베이스를 참조하고 싶을 때 다른 뷰에서 앱 전체를 호출한다. 나는 끊임없이 reinitilizing하지 않고 이것을 어떻게하는지에 관해 정말로 알지 못했다. 그래서 나는 그것을 한 번 할 수 있고 변수에 저장할 수있을 것이라고 생각했다. 여기

은 .. 내가 초기화하는 데 사용하는 코드입니다 아무것도 special..exactly (가) (분명이 게시물을 위해서 키 파일의 물건을 제거)을 사용하는 말 :

console.log("Global Variable File!") 
console.log("This is also where all of our intialization stuff is") 

//Connection Stuff 
const firebase = require("firebase"); 


const firebaseConfig = { 
    apiKey: "", 
    authDomain: "", 
    databaseURL: "", 
    storageBucket: "", 
    }; 
const firebaseObject = firebase.initializeApp(firebaseConfig); 
console.log("===Firebase Intialized==="); 
//TODO - Remove me 
firebaseObject.database().ref().child('testConnect').push({ title: "Summer2016" }); 


module.exports = { 
    firebaseObject 
} 

내가 객체를 밀어 그냥 내 연결을 확인하기 위해, 때로는 데이터베이스에 추가 가져옵니다. 가끔은 그렇지 않습니다. 또한 앱 전체에서 데이터베이스 참조를 만듭니다. 때로는 작동하지 않는 경우도 있습니다.

저는이 문제가 원시 파일이나 여러 파일에서 같은 객체를 사용하려고 시도하는 것과 관련이 있다고 생각합니다.하지만 어떻게해야할지 잘 모르겠습니다.

도움 주셔서 감사합니다.

답변

3

같은 문제가 발생했습니다. 구성이 모듈 수준에서 처리되어서는 안되며, 일단 앱이 준비되면 실행되어야합니다. 나중에 수동으로 트리거하는 방법으로 구성을 설정할 수 있습니다. 는이 메소드를 호출하는 것을 잊지 지루한 될 수 있기 때문에, 나는 자동으로 우리가 firebase.database() 생성자에 전화를했다 처음으로 응용 프로그램을 초기화하기 위해서 database 심판에 약간의 래퍼를 내놓았다 :

database.js을

import * as Firebase from 'firebase' 

let HAS_INITIALIZED = false 

const initFirebase =() => { 
    if (!HAS_INITIALIZED) { 
     const config = { 
      apiKey: "**************", 
      authDomain: "************", 
      databaseURL: "*********", 
      storageBucket: "*********", 
     } 

     Firebase.database.enableLogging(true) 
     Firebase.initializeApp(config) 
     HAS_INITIALIZED = true 
    } 
} 

export const getDatabase =() => { 
    initFirebase() 
    return Firebase.database() 
} 

는,

import { getDatabase } from './database' 

getDatabase().ref('...') // etc. 
+0

내 인생을 저장 한 어떤 파일 - 당신은-want.js! –

관련 문제