普及したblogに掲載されているサンプルのネイティブfirebaseアプリを実装しようとしていました。React-NativeのAndroid AppでFirebaseの接続を接続/デバッグする方法
私の初期化が次のようになります。
const firebaseConfig = {
apiKey: "AIzaSyDKTvsqGoMn9ksXxaujXqciM2M5R0tuZlw",
authDomain: "my-awesome-project-a8216.firebaseapp.com",
databaseURL: "https://my-awesome-project-a8216.firebaseio.com",
storageBucket: "my-awesome-project-a8216.appspot.com",
};
const firebaseApp = firebase.initializeApp(firebaseConfig);
私のコードは次のようになります。上記のコードで
constructor(props) {
super(props);
this.state = {
dataSource: new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2})
};
this.itemsRef = this.getRef().child('items');
}
getRef() {
console.log("Reference "+firebaseApp.database().ref().child('items'));
return firebaseApp.database().ref();
}
componentDidMount() {
this.listenForItems(this.itemsRef);
}
_renderItem(item) {
return (
<ListItem item={item} onPress = {() => {
}}/>
);
}
listenForItems(itemsRef) {
console.log("Came 1");
itemsRef.on('value', (snap) => {
console.log("Came Here");
// get children as an array
var items = [];
snap.forEach((child) => {
console.log("my data "+ child.key);
items.push({
title: child.val().title,
_key: child.key
});
});
this.setState({
dataSource: this.state.dataSource.cloneWithRows(items)
});
});
}
、listenForItems
機能で2つのconsole.log
デバッグ文があります。私はクロームコンソール上で「1来た」と表示されていない参照
console.log("Came 1");
console.log("Came Here");
はクロームコンソールのネットワークタブがコードで参照firebase URLへのアウトバウンドコールを表示しません 「ここに来ました」。 コンソールにエラーがないので、何が起こっているのかをデバッグする手がかりが残っていません...
すべての回答をいただきありがとうございます。ありがとう:)
はgetRef()メソッドではconsole.logが呼び出されるのか?を参照してください
で
を交換してくださいそれは何と言いますか? –
はい、あります。これを参照してください:参考https://my-awesome-project-a8216.firebaseio.com/items –