Установите APK на физическое устройство Android. < /li>
Открыть приложение и перейдите на экран чата.
[*] Введите сообщение и нажмите кнопку «Отправить». br /> < /ol>
import React, { useState, useCallback, useEffect } from "react";
import { Bubble, GiftedChat, Send } from "react-native-gifted-chat";
import { SafeAreaView, View, Text } from "react-native";
import { Colors } from "../../constants/Colors";
import { Ionicons } from "@expo/vector-icons";
import { useSafeAreaInsets } from "react-native-safe-area-context";
const ChatScreen = () => {
const insets = useSafeAreaInsets();
const [messages, setMessages] = useState([]);
const [isTyping, setIsTyping] = useState(false);
const [text, setText] = useState("");
useEffect(() => {
test();
}, []);
const test = async (userMessage) => {
setIsTyping(true);
try {
const newMessage = {
_id: Date.now(),
text: "api response text",
createdAt: new Date(),
user: { _id: 2, name: "AI Assistant" },
isStarred: false,
};
setMessages((prev) => GiftedChat.append(prev, [newMessage]));
} catch (error) {
console.error("API Error:", error);
} finally {
setIsTyping(false);
}
};
const onSend = useCallback(async (messages = []) => {
setMessages((prev) => GiftedChat.append(prev, messages));
await test(messages[0].text);
}, []);
const onLongPress = (context, message) => {
setMessages((prev) =>
prev.map((msg) =>
msg._id === message._id ? { ...msg, isStarred: !msg.isStarred } : msg
)
);
};
const renderSend = (props) => (
);
const renderBubble = (props) => (
(
{new Date(props.currentMessage.createdAt).toLocaleTimeString([], {
hour: "2-digit",
minute: "2-digit",
})}
{props.currentMessage.isStarred && (
)}
)}
/>
);
return (
);
};
const styles = {
timeContainer: { flexDirection: "row", alignItems: "center" },
timeText: { fontSize: 12, color: "#666", marginRight: 5 },
sendButton: {
backgroundColor: Colors.primary,
padding: 10,
borderRadius: 10,
justifyContent: "center",
alignItems: "center",
},
inputMsg: {
backgroundColor: Colors.card,
borderWidth: 1,
borderRadius: 10,
borderColor: "#666",
paddingHorizontal: 10,
fontSize: 16,
marginVertical: 4,
paddingTop: 8,
},
};
export default ChatScreen;
< /code>
- nodejs версия: v20.12.1 < /li>
React версии: 18.2.0 < /li>
< li> React Native Version: 0.74.5 < /li>
Версия с реагированием-ввоенной катером: 2.6.4 < /li>
Платформа (ы) (ios, Android, или оба?): Android - Версия типовойписнойпис: 5.3.3
Подробнее здесь: https://stackoverflow.com/questions/791 ... ifted-chat