react-virtualized 结合 WindowScroller 和 AutoSizer 在大列表上不会呈现所有项目

Rad*_*had 3 reactjs react-virtualized

我有一个包含 300 多个项目的大列表。为了获得更好的性能,我想使用 react-virtualized 并且只在屏幕上呈现当前可见的项目。出于设计原因,我必须使用 WindowScroller,并且根据屏幕尺寸,列表具有不同的宽度。

因此我使用 WindowScroller 和 Autosizer。我可以向下滚动 70 个项目的整个列表,但它会在 30 个列表项目(在我开始滚动之前就在那里)后停止渲染。呈现的项目数量取决于可见空间(通过来自 codeandbox.io 的打开和关闭的控制台进行检查)。

我想我的用法有误,但我不知道我做错了什么。

完整示例:https : //codesandbox.io/s/64lzm266n

我已经在 stackoverflow 和 react-virtualized 的问题页面上进行了搜索,但没有找到解决方案。我希望有人可以帮助我。

Rad*_*had 5

我在这个项目的GitHub 问题 ( https://github.com/bvaughn/react-virtualized/issues/1216 )上提供了一个解决方案。

我没有添加 style 参数,也没有将 WindowScroller 的 scrollTop 赋予 List 组件。您可以在https://codesandbox.io/s/7yzzw92xw1查看固定版本

积分和感谢anagorsky