Sendbird消息服务在每个组通道中复制新消息

时间:2017-03-18 14:22:10

标签: javascript ios reactjs react-native sendbird

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

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

使用的语言是react.js,它适用于简单的web-app。

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

答案 0 :(得分:1)

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

所以,在onMessageReceived

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

答案 1 :(得分:1)

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

message = [];
channelHandler = currentChannel;