我试图在React Native FlatList
内的给定项目上执行操作,当它在2种不同的场景中可见时:
从RN文档中可以看出,无法按需更改viewabilityConfig
。
如何做到这一点? 感谢。
答案 0 :(得分:3)
我刚注意到FlatList
采用名为viewabilityConfigCallbackPairs
的道具,其格式未在https://facebook.github.io/react-native/docs/virtualizedlist.html#viewabilityconfigcallbackpairs完整记录
基本上这样做会使viewabilityConfig
和onViewableItemsChanged
的对象数组具有键/值对。这将允许您为每个不同的可见度配置定义任何处理程序。
例如:
<FlatList
data={items}
renderItem={this.renderItem}
keyExtractor={(item) => item.id }
refreshing={false}
onRefresh={this.onRefresh}
viewabilityConfigCallbackPairs={this.viewabilityConfigCallbackPairs}
/>
this.viewabilityConfigCallbackPairs
等于:
this.viewabilityConfigCallbackPairs = [{
viewabilityConfig: {
minimumViewTime: 500,
itemVisiblePercentThreshold: 100
},
onViewableItemsChanged: this.handleItemsInViewPort
},
{
viewabilityConfig: {
minimumViewTime: 150,
itemVisiblePercentThreshold: 10
},
onViewableItemsChanged: this.handleItemsPartiallyVisible
}
];