【发布时间】:2017-01-04 08:25:58
【问题描述】:
我希望我的 React 组件能够监听来自 socket.io 的事件。如果我的 HTML 文件包括:
<script src="socket.io/socket.io.js"></script>
然后组件的constructor()有:
this.socket = io(); // eslint-disable-line no-undef
HTML 文件从我的 Express 服务器中检索到正确的 socket.io 客户端代码,一切正常。
但这感觉太俗气了。我讨厌依赖全局窗口名称空间来查找 io() 函数。让 React 组件通过 socket.io 连接到服务器的最佳实践是什么?谢谢。
【问题讨论】:
-
不能在props中传递
io函数吗?然后在componentDidMount期间连接 -
这将有助于测试,因为您可以传入您控制的模拟 io 函数。
标签: javascript express reactjs socket.io