问题描述
我在 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 (将#修改为@)