中间件是否需要在React Redux应用程序中使用Web套接字

时间:2017-09-19 22:05:58

标签: reactjs sockets websocket redux react-redux

我正在尝试实现基于套接字的react(redux)应用程序。必须将套接字事件分派到商店,以便减速器对其进行操作。 现在我的想法是将存储保存在一个文件中并从Socket事件文件中引用它,并且每当收到套接字消息然后通过socket.dispatch发出一个事件来存储

在store.js

import { createStore } from 'redux';
let store = createStore(appStore);
export default store

在SocketJs文件中

   import store from './store';
   import io from socketio.client;

   let Socket = {
      createSocketIoConnection = function(){
        var socket = io(url, {reconnection: false, transports: ['websocket']});
        socket.on('data', this.emitToStore);  

      },
      emitToStore: function(data){
        store.dispatch();
      }

   }

同一商店用于主文件广告,作为道具传递给提供商

import store from './store';
<Provider store={store}>
  <App> ...
</Provider>

这里我没有使用任何中间件。这是一种正确的方法。

1 个答案:

答案 0 :(得分:0)

不,你没有拥有来使用中间件,但是中间件是正确的来放置这种行为。事实上,已经有many existing websocket middlewares you can use