我正在努力在ReactJS中使用Web套接字。
我已遵循以下解决方案:https://stackoverflow.com/a/60161181/12962511
此解决方案效果很好!
但是,我想知道为什么onmessage在useEffect中。
我在useEffect中尝试了onmessage [],它是componentDidMount。此结果重置了我的状态,但没有从头开始启动函数,因为在这种情况下未触发useEffect和[]。
所以我的问题是:
我整天都坚持这个问题。 :( 请帮助我。
非常感谢您!
答案 0 :(得分:1)
useEffect
无依赖项将在每次渲染时触发。由于您只需要订阅一次,因此订阅应该为空[]
。useRef
仅用于暂停通过websocket收听消息。如果您不需要此逻辑,则可以不使用它。