React.js& Flux - 注册Websocket事件的最佳位置(接收数据)

时间:2015-03-31 21:14:35

标签: javascript reactjs reactjs-flux flux

我尝试编写一个简单的应用程序,该应用程序应显示使用Websockets从Firebase DB收到的项目列表。 要接收数据,我应该听一下firebase事件,如下所示:

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

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

我的问题是 - 注册此活动的正确位置在哪里?

我读了很多关于Flux的article - 在评论部分有一个Facebook工程师的回答说接收数据将通过商店的getData方法。另一方面,在Facebook's Todolist教程中,有一个选项可以用于' handleServerAction'哪个应该处理服务器动作。我理解应该从视图和服务器调度操作的概念(作为视图操作和服务器操作)。

将从视图文件上的用户交互调度视图操作。我不明白从哪里发送服务器操作(假设我想使用' handleServerAction'方法)

1 个答案:

答案 0 :(得分:2)

我就是这样做的(如果是Flux):你应该把你的WebSocket放到Web API模块中。创建套接字init操作(初始化WebSocket)和push操作(通过套接字发送数据)。使Web API模块调度数据收入操作,在存储中侦听此操作,并在获取某些数据后更新存储。然后,您可以从根组件中调度init操作,并在需要数据的组件中侦听商店更改。您还可以在需要通过套接字发送数据时发送push操作。