2017-01-27 4 views
9

無限のスクロールリストを作成するにはどうすればよいですか? (Facebookタイムラインと同じ - Mock up)?InfiniteLoaderとWindowScrollerをどのように組み合わせることが可能ですか?

以下は試したコードですが、期待どおりに動作しません。最初の項目のみが表示され、その後は何も表示されません。

<div className={styles.WindowScrollerWrapper}> 
    <InfiniteLoader 
     isRowLoaded={this._isRowLoaded} 
     loadMoreRows={this._loadMoreRows} 
     rowCount={list.size} 
     threshold={10}> 
     {({ onRowsRendered, registerChild }) => (
     <WindowScroller> 
      {({ height, isScrolling, scrollTop }) => (
      <AutoSizer disableHeight> 
       {({ width }) => (

       <List 
        ref={registerChild} 
        className={styles.List} 
        autoHeight 
        height={height} 
        width={width} 
        onRowsRendered={onRowsRendered} 
        rowCount={list.size} 
        rowHeight={30} 
        rowRenderer={this._rowRenderer} 
        scrollToIndex={randomScrollToIndex} 
        /> 
      )} 
      </AutoSizer> 
     )} 
     </WindowScroller> 
    )} 
    </InfiniteLoader> 
</div> 

事前に感謝します。ここで

更新

はデモへのURLです:your Plnkrに基づいてhttps://plnkr.co/edit/akyEpZ0cXhfs2jtZgQmN

+1

A Pnlkr何が起こっているかを証明することは有用であろう。 – brianvaughn

+0

@brianvaughn私は、プランナーに例を挙げました。ありがとう! –

答えて

8

、ここcorrected Plnkrは、それがどのように動作するかを示しています。 (あなたがWindowScrollerから子ListscrollTopのparamを渡すのを忘れた。)

ここに行く:

<InfiniteLoader 
     isRowLoaded={this._isRowLoaded} 
     loadMoreRows={this._loadMoreRows} 
     rowCount={list.size} 
     threshold={10}> 
     {({ onRowsRendered, registerChild }) => (
     <WindowScroller> 
      {({ height, isScrolling, scrollTop }) => (
      <AutoSizer disableHeight> 
       {({ width }) => (
       <List 
        ref={registerChild} 
        className="List" 
        autoHeight 
        height={height} 
        width={width} 
        onRowsRendered={onRowsRendered} 
        rowCount={list.size} 
        rowHeight={30} 
        rowRenderer={this._rowRenderer} 
        scrollTop={scrollTop} /> 
      )} 
      </AutoSizer> 
     )} 
     </WindowScroller> 
    )} 
    </InfiniteLoader> 
+0

FBのニュースフィードと同じように、身長があらかじめわかっていない場合はどうなりますか? – Polyakoff

+0

'CellMeasurer'(https://github.com/bvaughn/react-virtualized/blob/master/docs/CellMeasurer.md)を使用してください。それはドキュメントでかなり顕著に言及されています。チェックアウトしてください。 – brianvaughn

関連する問題