簡體   English   中英

僅在 Android 上,React Native 天才聊天在模擬器和設備上崩潰,在 iOS 中工作正常

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM