如何解决在完整的 spring 应用程序中导入 SockJS
我在 Jhipster / Spring 项目中使用 react-stomp,它正在我的一个页面上发送一些通知。但是今天,我想开发一个通知弹出窗口(我的后端在创建警报时发送消息等等),但我做不到。
我在解释:
要在完整的应用程序上打开 SockJSClient,我想将它添加到我的 header.tsx 或我的 app.tsx(主入口点)中 但它会导致错误“最大更新深度超过。[...] 以防止无限循环” 我尝试使用 websocket 状态或按钮添加条件,但这没有任何改变。 你有什么想法可以使它起作用(也许是在另一个地方初始化我的客户端?改变它以避免无限循环?使用 JS 而不是 balise)?
我这样做如下:
Websocket.tsx
return (
<>
{webSocketState !== WebSocketConnectionState.disCONNECTED && (
<SockJsClient
url={webSocketServerUrl}
topics={[webSocketEndpoint]}
headers={customHeaders}
onConnect={this.handleWebSocketConnect}
onConnectFailure={error => this.handleWebSocketError(error)}
onMessage={data => this.handleWebSocketMessage(data)}
ondisconnect={this.handleWebSocketdisconnect}
autoReconnect={false}
ref={client => {
this.connect(client);
}}
/>
)}
{popupState && (
<div className="border border-dark bg-dark text-light p-2 m-1 popup">
Popup
<Button onClick={this.handleClickClose}>Fermer</Button>
</div>
)}
</>
);
header.tsx
<Websocket />
感谢您的帮助,我希望得到一些答案,
问候, 弗洛里安
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。