我应该在哪里调用 socket.on ?
Posted
技术标签:
【中文标题】我应该在哪里调用 socket.on ?【英文标题】:Where should I call socket.on in react? 【发布时间】:2017-08-15 08:44:27 【问题描述】:目前我在构造函数中使用 socket.on。但我不能在那里使用 setState 。那么应该使用哪个生命周期来调用 socket.on 呢?
socket.on('users', function (user)
switch (user.meta.action)
case 'create':
store.dispatch(appendUser(user.data));
break;
case 'update':
store.dispatch(replaceUser(user.data));
break;
case 'delete':
store.dispatch(deleteUser());
break;
);
【问题讨论】:
【参考方案1】:由于您希望在初始化 React 组件时建立 Websockets 连接,因此您应该在 componentDidMount
中进行。这样你就可以使用setState
。
【讨论】:
以上是关于我应该在哪里调用 socket.on ?的主要内容,如果未能解决你的问题,请参考以下文章
Android:我在哪里可以在服务中实现 socket.on(...)?我多次收到相同的消息
angular 4/socket.io 访问全局变量和函数调用
我应该在哪里声明在 useEffect() 钩子中调用的函数?