act-native-gifted-chat различает сообщения, используя реквизиты пользователя, которые указывают
Пользователь, отправляющий сообщения,
так что вы должны дать пользователю реквизит как
<GiftedChat
messages={this.state.messages}
onSend={this.handleNewMessage.bind(this)}
user={{
_id: your user id
name: users name,
avatar: users image
}}
/>
имя и аватар полезно для отображения имени или изображения в одаренном чате, если вы хотите
и событие onSend отправляют этого пользователя с текстом в twillio как
handleNewMessage = (message = {}) => {
this.channel.sendMessage( message[0].text, message[0].user)
.catch(error => console.error(error));
}
Теперь на вашем getMessages
this.channel.getMessages(0).then((messages) => {
console.log("getMessages" + messages);
this.handleBatch(messages);
});
перед добавлением одаренного чата измените формат сообщения, если хотите одаренного чата
только для примера я использую состояние для установки сообщения
handleBatch= (message) => {
const messageData = this.formatMessage(message);
this.setState(previousState => ({
messages: GiftedChat.append(previousState.messages, messageData),
}));
}
formatMessage(message) {
return {
_id: message.sid, // or your own unique id
text: message.body,
user: message.attributes, // here you can get your user parameters in message attributes which we send to identify user
createdAt: message.timestamp,
};
}
// change above conditions as you get response by twillio.
Я надеюсь, это поможет вам.
если любой запрос, дайте мне знать.