You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

react-stomp仅在React Native调试模式下生效问题求助

react-stomp仅调试模式正常工作的排查方案
  • 检查生产环境端点配置与跨域
    确认STAMP_URL在生产环境的指向地址是否正确,后端是否配置了正确的CORS策略。调试模式下本地代理可能自动解决了跨域问题,但生产环境需要后端明确允许跨域请求。

  • 添加错误回调捕获异常
    当前代码缺少错误处理逻辑,无法定位连接失败原因。修改代码添加连接失败、断开回调,手动关闭调试模式复现问题:

import SockJsClient from 'react-stomp';

<View>
  <SockJsClient
    url={STAMP_URL}
    topics={stamp_topic}
    onMessage={onMessageReceive}
    onConnectFailure={(err) => console.error('连接失败:', err)}
    onDisconnect={() => console.log('连接断开')}
    debug={false}
  />
</View>
  • 排查打包压缩的影响
    部分打包工具的压缩规则可能混淆react-stomp或sockjs-client的代码,导致运行时异常。检查Webpack/Vite等打包配置,将这两个库加入压缩排除列表。

  • 验证主题格式合规性
    确认stamp_topic是否符合STOMP规范,需为字符串或字符串数组(如['/topic/notify'])。生产环境后端可能对主题格式要求更严格,调试模式下可能兼容宽松格式。

  • 检查服务器WebSocket支持
    生产环境服务器或反向代理(如Nginx)可能未启用WebSocket转发规则,导致SockJS无法正常建立连接。调试模式下本地服务器默认支持WebSocket相关配置,不会出现此类问题。

内容的提问来源于stack exchange,提问作者Ajay Pandey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 09:53:00