每半秒反应一次原生 SetState 数组 使 App 挂起大数据

Posted

技术标签:

【中文标题】每半秒反应一次原生 SetState 数组 使 App 挂起大数据【英文标题】:React native SetState array every half second Make App hang with large data 【发布时间】:2020-01-23 10:12:20 【问题描述】:

我正在使用 React Native 开发交易应用程序,其中数据需要每 0.5 秒间隔更新一次。

我正在使用 setState 来更新父组件中的最新数组并将子组件中的值传递给绑定列表值。

它使应用程序挂起,而数组项变成超过 100 个项,同时使评论中的 SetState 工作正常,但在 DOM 中没有更新值。

我可以使用 ForceUpdate 来更新 DOM 或任何其他解决方案中的值吗?

【问题讨论】:

附上代码以便正确理解,可能你的迭代不正确 添加截图 【参考方案1】:

使用 flatList 映射大列表

Flatlist 很酷,因为它会为您进行渲染并根据需要在屏幕上渲染项目,而不是像 ScrollView 那样一次全部渲染。您向 FlatList 提供一组数据以及项目的外观,并通过它自己的映射函数运行它。

这里是documentation的链接

【讨论】:

仅使用 FlatList 但应用程序在 setState 后每半秒因大数据而挂起 对平面列表使用分页 我们不能根据应用要求使用它。是否有解决状态问题的方法,或者状态是否可以在间隔内创建大数据问题? 可以移除State并使用ForceUpdate来更新DOM吗?

以上是关于每半秒反应一次原生 SetState 数组 使 App 挂起大数据的主要内容,如果未能解决你的问题,请参考以下文章

反应原生如何将两个数组与函数合并

this.setState 不是函数,反应原生

如何将新的键:值对添加到已经存在的数组状态变量反应原生

反应 setState 嵌套数组回调

setState 在第一次反应中没有得到更新

如何在反应中每 5 秒加 1 和 setState