3

Websocket を使用して、Firebase DB から受信したアイテムのリストを表示する単純なアプリケーションを作成しようとしています。データを受信するには、次のような firebase イベントをリッスンする必要があります。

var ref = new Firebase("firebase-url-here");

ref.on('value', function(snap) {
    console.log(snap.val());
});

私の質問は、このイベントを登録する正しい場所はどこですか?

Flux に関するこの素晴らしい記事を読みました。コメント セクションに、データの受信はストアの getData メソッドを介して行われるという Facebook エンジニアからの回答があります。一方、Facebook の Todolistチュートリアルには、サーバー アクションを処理する「handleServerAction」のオプションがあります。ビューとサーバーから (ビュー アクションとサーバー アクションとして) アクションをディスパッチする必要があるという概念を理解しています。

ビュー アクションは、ビュー ファイルに対するユーザー インタラクションからディスパッチされます。サーバー アクションをディスパッチする場所がどこにあるのかわかりません (「handleServerAction」メソッドを使用したい場合)

4

1 に答える 1

2

それが私のやり方です (Flux の場合): WebSocket を Web API モジュールに入れる必要があります。ソケットinitアクション (WebSocket を初期化する) とpushアクション (ソケット経由でデータを送信する) を作成します。Web API モジュールを作成して、データ収入に対してアクションをディスパッチし、ストアでこのアクションをリッスンし、データを取得したらストアを更新します。次に、ルート コンポーネント内からアクションをディスパッチinitし、データが必要なコンポーネントに変更を保存するのをリッスンできます。pushまた、ソケット経由でデータを送信する必要があるときにアクションをディスパッチできます。

于 2015-03-31T23:23:44.157 に答える