React通过DvaJs订阅websocket消息
需求:
- 前端采用React框架与后端通讯采用websocket的方式,客户端页面发送信息到后端,后端返回数据;
- 后端会持续向前端发送参数,前端用表格显示数据;
需求分析:
- 如果仅仅是发送消息到后端,后端返回数据,可以使用http协议,但是如果要持续接收后端的数据,采用轮训的方案会降低性能,那么我们采用了websocket的方式,保证前后端通讯不中断。
- 前端的页面会跳转,但也要实时接收并展示数据,需要采用上层的数据流方案。出于操作方便,采用了DvaJs,Redux同理。
引入Dvajs
建立model,model示例内容
export default {
namespace: "Main",
state: {
currentState: null,
},
subscriptions: {
},
reducers: {
changeLeftState(state, action) {
let _state = JSON.parse(JSON.stringify(state));
console.log(action.data)
_state.currentState = action.data;
return _state;
},
},
};
subscription是订阅。
引入websocket
新建个websocket方法文件
var IP = 192.168.0.11;
var PORT = 1234;
var URL = `ws://${IP}:${PORT}`;
整合
玄机博客
© 版权声明
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
THE END
暂无评论内容