![](/img/trans.png)
[英]React Native works with a real device but not with an android emulator
[英]React Native gifted chat crashing on both emulator and device only on Android, works fine in iOS
我正在嘗試讓天才聊天在 Android 上運行,但我嘗試過的一切都不起作用。 文檔在這里。 . 它說在文檔末尾附近有一些與 Android 相關的問題,但它們都是建議,而不是要求。 (無論如何,我都試過了)。
我的 AndroidManifest 有以下內容:
android:name=".MainActivity"
android:label="@string/app_name"
android:windowSoftInputMode="adjustResize"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
我已經升級到最新版本,我正在使用他們提供的代碼示例來嘗試隔離可能出現的問題(不是我自己的代碼,它可能有額外的依賴項/不相關的錯誤)
import React, { useState, useCallback, useEffect } from 'react'
import { GiftedChat } from 'react-native-gifted-chat'
export function Example() {
const [messages, setMessages] = useState([]);
useEffect(() => {
setMessages([
{
_id: 1,
text: 'Hello developer',
createdAt: new Date(),
user: {
_id: 2,
name: 'React Native',
avatar: 'https://placeimg.com/140/140/any',
},
},
])
}, [])
const onSend = useCallback((messages = []) => {
setMessages(previousMessages => GiftedChat.append(previousMessages, messages))
}, [])
return (
<GiftedChat
messages={messages}
onSend={messages => onSend(messages)}
user={{
_id: 1,
}}
/>
)
}
我沒有看到任何錯誤消息,每次我使用 Gifted 聊天導航到屏幕時,該應用程序都會崩潰。 正如問題標題中所說,它只發生在 Android(仿真器和設備)上,並且在 iOS 上運行良好。
想知道其他人是否遇到過同樣的問題並有一個快速解決方案。
謝謝。
解決方案可能是您沒有在代碼中包含 renderAvatar。 查看 GitHub 存儲庫,我發現如果沒有提供的話,GiftedChat 無法在 android 上運行。 下面是一個例子來說明我的意思:
<GiftedChat
messages={messages}
onSend={(messages) => onSend(messages)}
user={{
_id: 1,
}}
renderAvatar={renderAvatar} (if I remove this line it will crash after 2,3 seconds)
/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.