Отменить регистрацию слушателя канала

У меня есть список каналов чата Twilio, на которые подписан пользователь. Когда пользователь нажимает на один из этих каналов, открывается чат, загружаются сообщения, и пользователь подписывается на получение новых сообщений, используя this.state.channel.on('messageAdded', message => { doSomething() })

Все это отлично работает, но когда пользователи выбирают новый канал, слушатель старого канала все еще активен. Поэтому, когда пользователь переключается между каналами и возвращается к уже открытому каналу, он будет получать сообщения дважды (потому что мне нужно запускать channel.on('messageAdded') для каждого присоединенного канала.

Как я могу отменить регистрацию channel.on ('messageAdded') перед переключением на другой канал?


person boydenhartog    schedule 20.09.2018    source источник


Ответы (1)


вы можете определить некоторые уникальные свойства для разделения ваших слушателей. каждый раз, когда какой-либо пользовательский запрос вы создаете уникальный идентификатор и сохраняете его в локальном хранилище клиента. и всякий раз, когда вы хотите транслировать свои сообщения, сначала проверьте идентификатор вашего сообщения с клиентом, затем, если они равны, покажите их

person Alireza Yadegari    schedule 20.09.2018