首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React-Virtualized List滚动时跳过行

React-Virtualized List滚动时跳过行
EN

Stack Overflow用户
提问于 2016-12-06 01:32:24
回答 1查看 1.1K关注 0票数 0

当我尝试呈现一个项目列表时遇到了一个问题,如下所示:

代码语言:javascript
复制
render()
{
  const data = (my data);

  const cellRenderer = ({index, key}) => (
    <li key={key}>
      <Datum data={data[index]} />
    </li>
  );

  return (
    <AutoSizer>
      {
        ({ width, height }) => (

          <CellMeasurer cellRenderer={ cellRenderer } 
                        columnCount={ 1 }
                        width={ width }
                        rowCount={ transactions.length }>
            {
              ({ getRowHeight }) => (
                <List height={ height }
                      overscanRowCount={ 50 }
                      noRowsRenderer={ () => (<div> Nix! </div>) }
                      rowCount={ transactions.length }
                      rowHeight={ getRowHeight }
                      rowRenderer={ cellRenderer }
                      width={ width } />
              )
            }
          </CellMeasurer>
        )
      }
    </AutoSizer>
  );
}

现在,当我向下滚动时,它每隔一秒跳过一次列表项,直到我看到半个页面是空的,但仍然可以滚动。

更糟糕的是,当向上滚动时,它会跳过半页。

AutoSizerCellMeasurer似乎运行得很好。我稍微浏览了一下代码,看起来它们确实创建了正确的度量。

我的数据只是一个静态的对象数组。而不是承诺或小溪。

我还更改了我的Datum组件几次,以确保它是完全静态的标记,但这并没有改变任何东西。

有没有人有主意?

编辑

这是一个显示我的问题的插入器:https://plnkr.co/edit/2YJnAt?p=preview

具有讽刺意味的是,在摆弄它的时候,我意外地发现我做错了什么。我会提交一个答案和我的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2016-12-06 02:59:09

是的,我找到了问题所在( @MBrevda!+1也是!)

rowRenderer方法接受需要应用于呈现的列表元素的样式:https://plnkr.co/edit/FzPwLv?p=preview

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40980012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档