问题标签 [react-native-gifted-chat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1933 浏览

react-native - 如何在聊天应用程序中显示发件人的用户名?

我在 UI 和后端使用 react-native-gifted-chat,我使用 AWSAppSync/GraphQL 来存储用户数据。我不太确定如何在我的 ChatApp 中显示发件人的用户名,并且需要此功能进行群聊。到目前为止,这是我的代码。

0 投票
3 回答
5312 浏览

javascript - 为什么 react-native-gifted-chat 不能从 firebase 时间戳正确显示时间?

我在我的应用程序中使用了react-native-gifted-chat来添加聊天功能。目前我能够正确发送和接收来自 firebase 的消息。但是,问题是react-native-gifted-chat总是显示 12:00 AM 的消息发送时间。这是因为它无法将 firebase 时间戳转换为时间。谁能帮我解决一下?

这是我使用GiftedChat组件的方式:

以下是我用于在 firestore 中保存消息的代码:

在上面的代码中是有天赋的聊天消息,message其中包含属性:_id、、text和。createdAtuser

以下是消息在 firebase 中的存储方式:

Firebase 消息结构

当我显示消息时:

信息

0 投票
2 回答
2096 浏览

react-native - 在有天赋的聊天中删除和复制消息

使用 Dialogflow,我有 onLongPress 到 GiftedChat 组件,如下所示:

onLongPress 返回上下文,消息。然后您可以显示一个 ActionSheet 并添加要删除和复制的逻辑。

这里我有代码的发送属性:

我犯了一个非常愚蠢的错误,这仅适用于箭头函数,除非您手动将其绑定到普通函数,因此必须在 onLongPress 中使用箭头函数

0 投票
2 回答
961 浏览

react-native - 升级到 Expo SDK36 (RN 0.61) 后开始出现警告:componentWillMount 已重命名,不建议用于有天赋的聊天

升级到 Expo SDK36 (RN 0.61) 后 react-native-gifted-chat 开始抛出这两个警告(componentWillMount 和 componentWillReceiveProps 已重命名):

我在用:

以下是我实施天才聊天的方法:

有没有办法解决我自己的这些警告,还是我应该等待新的有天赋的聊天发布?

0 投票
1 回答
118 浏览

android - 更改屏幕并随机打开时状态不会卸载( react-navigation - firebase - react native-maps - giftedcha )

在屏幕之间导航时不会重置屏幕状态。

屏幕 A:地图(主屏幕) 屏幕 B:地图过滤器

当用户登录时,他会看到主屏幕 - 屏幕 A - 与 firebase 实时数据库中的用户一起在 componentdidmount setState 上。为了过滤地图,他进入屏幕 B 设置过滤器,过滤器被保存到 firebase。保存过滤器后,他返回屏幕 A,但初始状态的用户是相同的,要查看过滤列表,用户需要重新启动应用程序。

当用户发送消息时,与天才聊天库和 Firebase 有同样的问题,聊天屏幕会在其他用户的应用程序上随机打开并重新打开,即使用户没有聊天也是如此。

在这两种情况下都尝试将 isMonted = true 放在 componentdidmount 上,并在离开屏幕时将其设置为 false,但没有成功。

尝试将屏幕将所有初始状态设置为 false 时设置状态,也没有运气。

所有屏幕都在同一个导航堆栈上。

使用:-expo -firebase -react 本机导航 -react 本机地图 -giftedchat

当用户离开屏幕并防止屏幕随机打开时,有什么方法可以卸载状态?

尝试过:屏幕出现时调用哪个生命周期事件?但数据保持不变

0 投票
1 回答
1639 浏览

react-native - 在 react native 天才聊天中,哪些道具用于在工具栏中添加图像和相机等额外功能?我如何实现它?

我是新来的反应原生天才聊天。我尝试在聊天工具栏中添加相机、图库等功能。我通读了道具。我认为它要么是renderInputToolbar 要么是renderComposer。但是该网站没有任何关于如何使用其道具的描述。它只是说明什么是 for 以及您可以通过什么类型。

有人可以解释一下如何使用这些道具吗?非常感谢!

0 投票
1 回答
352 浏览

javascript - 在多频道聊天应用程序中,如何显示仅与特定聊天频道相关的消息?

环境:expo 36.0.0 / React Native 0.61 / react-native-gifted-chat 0.13.0 / firebase 7.6.0

我的目标:仅在 Gifted Chat UI 上呈现特定于特定聊天频道的消息。

预期结果:只有与给定频道有关的消息才应显示在 Gifted Chat UI 上。

实际结果 :

  1. 当我从一个聊天频道导航到另一个聊天频道时,总消息会累积。
  2. 当我回到较早的频道时,同一聊天频道的消息会重复不止一次。
  3. 警告:遇到两个孩子用同一个钥匙,%s。密钥应该是唯一的,以便组件在更新时保持其身份。非唯一键可能会导致子项被复制和/或省略 - 该行为不受支持,并且可能在未来版本中更改。%s

到目前为止我尝试了什么?1. 每次用户使用 componentDidUpdate 从一个频道导航到另一个频道时,重新订阅新的聊天频道。2. 每次用户更改聊天频道时,将消息数组的状态设置为空数组。3.在Firebase中退订上一个节点,在componentDidUpdate中订阅一个新节点。这里的节点代表 Firebase 中由 ID 标识的聊天频道。每个节点都包含与该特定聊天频道相关的所有消息的子节点。

0 投票
1 回答
1022 浏览

react-native - 在 react-native-gifted-chat 如何删除 Composer 组件上方的行?

如何删除这条线?它似乎不是 Composer 组件的一部分。

有天赋的聊天图片

0 投票
1 回答
477 浏览

android - 少数 android 设备中的键盘过度播放输入文本反应原生 expo 应用程序

嗨,当键盘在少数 android 设备上可见时,我遇到了一个天才聊天输入文本重叠问题来解决这个问题,我尝试使用键盘显示/隐藏方法,但没有工作也尝试使用键盘间隔,但没有任何效果。此问题不会在目前发生在 One plus 6、samsung A-70 android 版本 9 Oxygen OS 9.0.9 上的设备上复制。它没有完全重叠输入文本的确切问题可以说只有底部边框在键盘下方。请在图片下方找到该问题的确切概念。 在此处输入图像描述

0 投票
1 回答
1628 浏览

react-native - 在 inputToolbar 下 React-native-gifted-chat 改变颜色

我正在使用 react-native-gifted-chat,我很难弄清楚如何在 InputToolbar 下方着色或添加一个类似于下面第二张图片的视图。

这就是我所拥有的

在此处输入图像描述

这就是我想要做的

在此处输入图像描述

如果有人知道我如何接近第二张图像,那就太好了。如果有人可以发送指向类似示例的链接或任何帮助,我们将不胜感激。