javascript - React-Native-Gifted-Chat 性能问题
问题描述
当我收到此错误时,相同的消息数据会附加到聊天列表中,然后会崩溃。
我正在尝试使用 react-native-gifted-chat 编写聊天应用程序,我希望用户收到超过 15.000 条消息,但我的天才聊天甚至无法处理 1000 条消息。它给出了这个错误。
我通过套接字从 mongodb 获取数据。
有没有办法以非常好的性能呈现消息数据?我对此进行了很多研究,PureComponent 等。没有任何作用:/
解决方案
我认为如果你想达到你的目标,你应该用来自 react native的FlatList替换呈现消息的组件。并将 initialNumToRender 设置为 10-15 之类的小数字。我在一个类似的聊天应用程序中使用了这种方式,但没有使用天才聊天(从头开始制作)。
这是我呈现消息的方法,并且对任何数量的消息都没有问题:
<FlatList
inverted
windowSize={5}
removeClippedSubviews={true}
initialNumToRender={15}
data={this.props.messages}
ref={ref => this.flatList = ref}
onLayout={this.onLayout}
renderItem={this.renderItem}
keyExtractor={(item) => `${item.message_id}`}
/>
推荐阅读
- azure - Terraform 导入 - 资源标签是否重要?
- python - Tkinter 标签未更新(对 tk.Stringvar 使用 .get 和 .set)
- node.js - 努力让 Query 和 Update 与 GraphQL 一起工作
- html - 提交输入按钮样式
- php - 如何使用 PHP DOMDocument 和 DOMXPath 从 HTML 字符串中提取内联 JavaScript 方法参数
- c# - 如何从 Active Directory 中获取项目以显示在我的列表视图的列中?
- php - 如何在json数组内的元素内取元素?
- javascript - NextJS 中使用 contextAPI 进行简单的状态管理
- php - Laravel 任务调度
- authentication - 拒绝所有作为 sshd 中的默认身份验证选项