0

我知道我们可以像这样绑定推送事件

useEffect(() => {
    var channel = pusher.subscribe('my-channel');
    channel.bind('my-event', function(data) {
      alert(JSON.stringify(data));
    });
},[]);

但是当组件卸载时我找不到任何方法来解除绑定。有没有办法像这样解绑它

useEffect(() => {
     var channel = pusher.subscribe('my-channel');
     channel.bind('my-event', function(data) {
       alert(JSON.stringify(data));
     });
     return () => channel.unbind('my-event');
 },[]);
4

1 回答 1

1

Pusher JS 具有取消绑定功能,如https://github.com/pusher/pusher-js#binding-to-events中所述

// Remove all handlers for the `new-comment` event
channel.unbind('my-event')

如果这不起作用并且您遇到错误,请编辑您的问题以包含错误。

于 2020-02-25T13:33:00.700 回答