实际上,在F8应用程序中有一个非常好的例子。您要查看的3个文件在此处:
https://github.com/fbsamples/f8app/blob/master/js/tabs/schedule/MyScheduleView.js https://github.com/fbsamples/f8app/blob/master/js/common/ListContainer.js https://github.com/fbsamples/f8app/blob/master/js/common/PureListView.js
如果您想在应用程序中查看它的工作原理,可以点击“我的F8”选项卡。
基本思路是通过handleScroll
函数来跟踪滚动位置的ListContainer
。它将handleScroll
传递给所有子组件,并将该函数重命名为onScroll
。
PureListView
会使用对象扩展运算符{...this.props}
获取onScroll
属性,并将其传递给ListView
。
这些都是为了跟踪滚动而设计的。如果您查看 MyScheduleView.js
,您可以看到它的大部分实现方式。
希望这有所帮助。
onScroll
已经被注释掉了。https://github.com/fbsamples/f8app/blob/2fb0a87cb3854a9340a679cbdf36d02975e9b6c3/js/common/ListContainer.js#L98 - Alex Chin