Служба сообщений Sendbird дублирует новые сообщения в каждом групповом канале

Когда я отправляю новое сообщение, оно отправляется по всем отдельным групповым каналам, и так не должно быть по умолчанию. Любое предложение приветствуется.

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

Используемый язык - response.js и предназначен для простого веб-приложения.

sendMessage(message) {
const data = '';
const customType = '';
this.state.currentChannel.sendUserMessage(message, data, customType, (mess, error) => {
  if (error) {
    console.error(`error sending message: ${error}`);
    return;
  }
  console.log(`message sent!! ${mess}`);
  console.log(mess);
  const messagesState = this.state.messages;
  messagesState.push(mess);
  this.setState({
    messages: messagesState,
  });
});

}

Что-то не так в этой части?!

2 ответа

Решение

Просто добавьте пустой массив перед каждым обработчиком канала.

message = [];
channelHandler = currentChannel;

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

Итак, в onMessageReceived,

if (channel.url == myChannelUrl) {
    // Add the message to myChannel's message list.
}
Другие вопросы по тегам