如果我使用getItemLayout,则不会触发FlatList水平onViewableItemsChanged

时间:2018-07-08 14:36:07

标签: reactjs react-native react-native-android

我有水平FlatList,并尝试使用onViewableItemsChanged获取可见项 事件,如果我使用getItemLayout道具。如果Android水平运作良好,则事件不会在Android上触发。 如果您移除horizontalgetItemLayout道具,这是演示。工作正常。但我还需要getItemLayout https://snack.expo.io/@nazrdogan/flatlist-getitemlayout

2 个答案:

答案 0 :(得分:0)

这似乎是由于您正在设置waitForInteraction: true而引起的。当列表为垂直时,滚动会从垂直滚动中注册一个交互,从而调用回调。为了在列表为垂直时触发交互,您必须在列表上水平滚动。

要解决此问题,您可以将waitForInteraction设置为false

答案 1 :(得分:0)

解决方案是您必须使用任何参数来确定项目是否在屏幕上可见。

如果您使用的是viewabilityConfiggetItemLayout,则可能会遇到此问题,可以删除viewabililtyConfig,然后它将起作用。