我希望在某些组件想要订阅数据时按需创建websocket.如何以redux方式共享websocket实例?
action.js
export function subscribeToWS(url) {
return dispatch => {
let websocket = new WebSocket(url)
websocket.on('connect',() => {
websocket.send("subscribe")
}
websocket.on('message',(message) => {
dispatch(storeNewData(message))
}
}
}
我可以做这样的事情,但这需要为每个新订阅一个新实例.
最佳答案
放置持久连接对象之类的标准位置是在中间件中.事实上,实际上有几十个现有的中间件可以证明这种方法,其中大多数都列在https://github.com/markerikson/redux-ecosystem-links/blob/master/middleware.md#sockets-and-adapters.您应该能够按原样使用其中一些,或者至少作为示例使用.
原文链接:https://www.f2er.com/js/429037.html