Reactjs Redux将websocket添加为道具

Reactjs Redux将websocket添加为道具,reactjs,websocket,redux,react-redux,Reactjs,Websocket,Redux,React Redux,我用所需的单个websocket连接来响应应用程序,因此我从redux操作连接websocket,并尝试将websocket实例设置为prop;因此,我可以访问我的应用程序中的任何软件的这个实例 const initWebSocket = uri => { const ws = new WebSocket(uri) return { type: WEB_SOCKET_CONNECTION_SUCCESS, ws } } // redu

我用所需的单个
websocket
连接来响应应用程序,因此我从redux操作连接
websocket
,并尝试将
websocket
实例设置为prop;因此,我可以访问我的应用程序中的任何软件的这个实例

const initWebSocket = uri => {
    const ws = new WebSocket(uri)
    return {
        type: WEB_SOCKET_CONNECTION_SUCCESS,
        ws
    }
}
// reducer
export default function (state = initialState, action) {
    switch (action.type) {
        case WEB_SOCKET_CONNECTION_SUCCESS:
            return {...state, ws: action.ws}
        default:
            return state;
    }
}

但是aster state change
ws
是空对象

从技术上讲,将Websocket连接实例放入Redux存储是可能的,但这是个坏主意。Redux文档


Redux应用程序中WebSocket和其他持久连接对象的正确位置是中间件内部。事实上,已经有了。从技术上讲,将Websocket连接实例放入Redux存储是可能的,但这不是一个好主意。Redux文档


Redux应用程序中WebSocket和其他持久连接对象的正确位置是中间件内部。事实上,已经有可用的了。

我是否可以建议不要将websocket实例保存在存储中,而是将SEND_MESSAGE、ON_Receive_MSG和CLOSE_websocket添加为redux操作?我是否可以建议不要将websocket实例保存在存储中,而是将SEND_MESSAGE、ON_Receive_MSG和CLOSE_websocket添加为redux操作?