我应该在哪里调用socket.on?

时间:2017-08-15 08:44:28

标签: reactjs websocket react-redux

目前我在构造函数中使用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 个答案:

答案 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