Итак, я создаю функциональную часть чата для своего приложения. Я использую sendbird sdk вместе с подаренным чатом для пользовательского интерфейса.
Мои сообщения не отображаются, и я продолжаю получать следующее предупреждение. "GiftedChat: _id
отсутствует в сообщении"
Теперь я трижды проверил, что мой sendbird настроен правильно, я правильно вошел в систему и также создал соответствующий канал. Оба они работают.
Глядя на журнал моих сообщений, они публикуют, как показано.
{
messageType: 'user',
messageId: 2122453749,
etc ...
}
Но они публикуются как messageId. Нужно ли мне изменить структуру этого сообщения? Если да, то как мне это сделать, поскольку sendbird уже настроил это заранее. Или я могу изменить это в gifted-чате?
Пожалуйста, взгляните на приведенные ниже фрагменты моего кода.
getChannelMetaData(channel) {
if (channel) {
const self = this;
const messagesQuery = channel.createPreviousMessageListQuery();
messagesQuery.load(50, true, (messages, error) => {
if (error) {
console.error(error);
}
this.setState({
messages,
});
});
}
}
onSend(messages = []) {
const handle = this;
const sb = SendBird.getInstance();
const { channel } = this.props.navigation.state.params;
this.setState(previousState => {
channel.sendUserMessage(messages[0].text, (response, error) => {
if (!error) {
handle.getChannelMetaData(channel);
}
});
console.log(this.state.messages);
return { messages: GiftedChat.append(previousState.messages, messages) };
});
}
<GiftedChat
messages={this.state.messages}
renderBubble={bubble}
loadEarlier
renderLoadEarlier={loadEarlier}
isAnimated
keyboardShouldPersistTaps="never"
onSend={messages => this.onSend(messages)}
user={{
_id: userID,
}}
showUserAvatar
/>