Я не могу заставить сообщения двух пользователей выравниваться по левой и правой стороне, вытягивая их из состояния. Все идут по левой стороне. Если я попытаюсь опубликовать новое сообщение, это сообщение будет отображаться с правой стороны, как и ожидалось, но не при извлечении их из состояния.
Пример кода
import { StatusBar } from 'expo-status-bar';
import React, { useState } from 'react';
import { GiftedChat } from 'react-native-gifted-chat';
import { StyleSheet, Text, View } from 'react-native';
export default function App() {
const [messages, setMessages] = useState([
{
_id: 1,
text: 'This is a quick reply. Do you love Gifted Chat? (radio) KEEP IT',
createdAt: new Date(),
user: {
_id: 2,
name: 'React Native',
},
},
{
_id: 2,
text: 'This is a quick reply. Do you love Gifted Chat? (checkbox)',
createdAt: new Date(),
user: {
_id: 3,
name: 'React',
},
}
]);
const onSend = (newMessage = []) => {
setMessages(GiftedChat.append(messages, newMessage));
};
return (
<GiftedChat
messages={messages}
onSend={newMessage => onSend(newMessage)}
user={{
_id: 1,
}}
/>
);
}
Этот пример содержит 2 сообщения, оба с разными идентификаторами пользователей, но сообщения отображаются слева. Я также сохранил сообщения в бэкэнде, и, хотя написание новых сообщений не является проблемой, вытащить их из бэкэнда и отобразить.
Я также изменил свойство renderMessage в giftedChat, но безрезультатно. Я использую сервер, который принимает только групповые чаты, может быть проблема в этом? Любые идеи? Спасибо