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;
当我发送新消息时,它会转到所有不同的群组频道,默认情况下不应该是这样的。任何建议表示赞赏。
对于消息传递部分,我必须使用数组来存储以前和新的消息并在需要时加载它。
使用的语言是 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;