2017-02-09 87 views

回答

0

很可能您需要的是无限滚动功能。 React在加载异步数据时有一些很好的选择:

1)如果您需要高性能(来自服务器的大量结果),您可以尝试react-infinite。作为文档说:

通过渲染无限做出反应解决了这个唯一的DOM节点用户 能够看到或可能很快就会看到。

2)另一种简单的办法是:react-infinite-scroller

一般原则,使这些库的工作是通过他们的道具,这将让模块知道什么时候提出要求或当等待。

<InfiniteScroll 
    pageStart={0} 
    loadMore={loadFunc} 
    hasMore={true || false} 
    loader={<div className="loader">Loading ...</div>} 
> 
    {items} // <-- This is the content you want to load 
</InfiniteScroll> 

loadFunc将作出API调用到服务器,将设置hasMore为假,直到它成功地解决。

+0

另请参阅'react-virtualized'似乎在Github最近(2017年)更积极地维护。它可以动态计算动态的,不同的行高。 https://github.com/bvaughn/react-virtualized –