重新加载(重新挂载)反应子组件
Reload (remount) react child component
是否可以reload/remount 反应组件?我在 spring 启动并做出反应时制作了简单的应用程序。我已经通过网络套接字 (stomp) 实现了简单的通知。在反应中,我正在使用这样的 SockJSClient
组件:
<SockJsClient url='http://localhost:8080/voting-socket' topics={['/queue/notification', '/user/queue/notification']}
onMessage={this.onMessageReceived} onConnect={this.onConnect} debug headers={{Authorization: "Bearer " + localStorage.getItem(ACCESS_TOKEN)}}/>
当我以访客身份访问我的应用程序(然后套接字连接到 spring 引导应用程序而无需身份验证)并登录时,就会出现问题。 Web 套接字连接保持不变(我未经过身份验证)。它仅在我点击浏览器中的刷新按钮时有效(然后整个 dom 和网络套接字得到重建)。所以我的问题是我可以以某种方式手动 rebuild/reconnect sockjs 组件吗?
为了触发子组件更新,应该更新父组件状态。为了触发组件重新挂载,可以更新 key
属性,例如:
<SockJsClient key={this.state.auth} ... />
是否可以reload/remount 反应组件?我在 spring 启动并做出反应时制作了简单的应用程序。我已经通过网络套接字 (stomp) 实现了简单的通知。在反应中,我正在使用这样的 SockJSClient
组件:
<SockJsClient url='http://localhost:8080/voting-socket' topics={['/queue/notification', '/user/queue/notification']}
onMessage={this.onMessageReceived} onConnect={this.onConnect} debug headers={{Authorization: "Bearer " + localStorage.getItem(ACCESS_TOKEN)}}/>
当我以访客身份访问我的应用程序(然后套接字连接到 spring 引导应用程序而无需身份验证)并登录时,就会出现问题。 Web 套接字连接保持不变(我未经过身份验证)。它仅在我点击浏览器中的刷新按钮时有效(然后整个 dom 和网络套接字得到重建)。所以我的问题是我可以以某种方式手动 rebuild/reconnect sockjs 组件吗?
为了触发子组件更新,应该更新父组件状态。为了触发组件重新挂载,可以更新 key
属性,例如:
<SockJsClient key={this.state.auth} ... />