Sendbird 消息服务在每个群组频道复制新消息

Sendbird messaging service duplicate new messages in each group channel

当我发送新消息时,它会转到所有不同的群组频道,默认情况下不应该是这样的。任何建议表示赞赏。

对于消息传递部分,我必须使用数组来存储以前和新的消息并在需要时加载它。

使用的语言是 react.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,
  });
});

}

这部分有什么问题吗?!

您的频道处理程序接收所有传入消息。您必须检查消息的频道是否与您当前输入的频道相对应。

因此,在 onMessageReceived

if (channel.url == myChannelUrl) {
    // Add the message to myChannel's message list.
}

只需在每个通道处理程序之前添加一个空数组。

message = [];
channelHandler = currentChannel;