调用loadMoreRows后的未定义索引

时间:2017-02-13 11:31:50

标签: react-virtualized

我有以下示例使用InfiniteLoader实现Table,将Table rowCount设置为已知大数(数据库中的日志数)和InfiniteLoader rowCount到我获取的一批日志的大小。我需要这个,以便用户根据滚动高度知道有多少数据。否则,他必须滚动到最后,看看是否加载了更多日志。可能是因为我误用了两个rowCount道具,但每当我快速滚动到接近结尾的索引时,数据尚未加载,data在{{1}中未定义功能。我假设在这种情况下会调用getRowClassName

loadMoreRows

1 个答案:

答案 0 :(得分:0)

  

可能是因为我误用了两个rowCount道具

您应该将相同的rowCount值传递给InfiniteLoaderTable。它应该是服务器上所有数据的总大小(如here所示)或本地数据的大小+1,以便在用户滚动到末尾时允许加载更多(如图所示{{3 }})。

  

每当我快速滚动到接近结尾的索引(尚未加载数据)时,getRowClassName函数中的数据未定义。我假设在这种情况下会调用loadMoreRows

loadMoreRows会被调用 - 但它是异步的。 react-virtualized不会阻止用户滚动直到数据加载。您的getRowClassName函数需要处理这样一个事实,即用户可能比加载延迟加载的数据滚动得更快。您可以显示正在进行的其他加载"如果您愿意,可以使用已卸载行的UI。