Angular 4を使用して基本的なNativeScriptアプリケーションを開発しようとしています。また、ngrx storeとfirebaseをリアルタイムデータベースとして使用しています。firebase約束からのディスパッチアクション後にngrx storeがUIを更新しない
サンプル配列を使用してストアを更新し、firebaseと統合しないと、プログラムは正常に動作します。 UIも更新されます。
let value = [
{
"description": "Groups discussing about Technology",
"category": "Tech"
},
{
"description": "Groups for all kinds of sports ",
"category": "Sports"
}
];
this.store.dispatch({ type: GroupCategoryListActions.ADD_ITEMS, payload: value });
this.store.dispatch({ type: GroupCategoryListActions.LOAD_SUCCESS });
しかしクエリは上記のコードサンプルと同じ配列を返しますが、UIが更新されませんが、私は、firebaseと統合し、firebaseクエリを使用して同じデータを取得しようとします。以下はfirebaseからフェッチするコードです。ここで
firebase.init()
.then((result) => {
firebase.query(
(result) => {
if(!result)
this.store.dispatch({ type: GroupCategoryListActions.LOAD_ERROR });
this.store.dispatch({ type: GroupCategoryListActions.ADD_ITEMS, payload: result.value });
this.store.dispatch({ type: GroupCategoryListActions.LOAD_SUCCESS });
},
'/groupCategory',
{
orderBy: {
type: firebase.QueryOrderByType.KEY,
value: 'category'
}
});
},
(error) => console.log("firebase.init error: " + error)
);
は角度のための完全に正常な動作です、私のfirebase database
これは機能しましたが、2回トリガされました。私は、ProdModeを有効にする必要がありますか?提案してください。 –
'result'オブジェクトに違いはありますか? 'NgZone'を使用しないときに2回もトリガされませんか? –
私はあなたが考えることができないほど愚痴です。出来た。ありがとう:) –