reactjs固定数据表中的无限滚动

Posted

技术标签:

【中文标题】reactjs固定数据表中的无限滚动【英文标题】:infinity scroll in reactjs fixed data table 【发布时间】:2016-08-14 01:19:53 【问题描述】:

我需要为固定数据表实现无限滚动功能。 我检查了 API 文档,当用户滚动到表格末尾时没有调度事件。唯一看似有用的事件是 onScrollEnd,但该事件让我返回了 scrollX 和 scrollY。 ScrollY 非常大,我不知道如何使用这个数字来检测用户是否在接近尾端滚动。 谁能告诉我如何使用固定数据表实现无限滚动功能? 谢谢

【问题讨论】:

【参考方案1】:

遗憾的是,此类组件没有适当的 API 用于无限滚动。 解决方案是这样的(但很丑):

onScrollEnd() 返回一个 scrollY 值。您需要将此值保留在组件状态中,例如this.state.scroll。在每个 onScrollEnd 上,您必须检查是否相等:

this.state.scroll === nextState.scroll && nextState.scroll !== 0 // you dont want to load dada on scrollTop

如果这是真的,那么您可以加载其他数据,更新您的商店或您拥有的内容,然后重新渲染组件。

大问题:onScrollEnd() 函数非常非常慢 :( 也许做去抖动/节流?

【讨论】:

以上是关于reactjs固定数据表中的无限滚动的主要内容,如果未能解决你的问题,请参考以下文章

无限滚动加载解决方案之虚拟滚动(下)

JQ-滚动条下拉无限的加载数据

使用 React JS 无限滚动

jquery-触底加载无限滚动

angular2 中的无限滚动,用于儿子数据加载 75%

MySQL 数据无限滚动