目前我在构造函数中使用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;
}
});
答案 0 :(得分:1)
由于您希望在初始化React组件时建立Websockets连接,因此您应该在function test(status, obj) {
if(status == 0) {
$(obj).off('click').click(function() {
test(1, obj);
});
} else if(status == 1) {
$(obj).off('click').click(function() {
test(0, obj);
});
}
}
中执行此操作。这样您就可以使用componentDidMount
。