Ошибка onViewableItemChanged для React-Native Flatlist - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь учесть изменения, когда изменяется элемент в представлении. Я получаю следующее

Invariant Violation: Changing onViewableItemsChanged on the fly is not supported

У меня есть следующее

<Animated.FlatList
      viewabilityConfig={carouselViewabilityConfig}
      onViewableItemsChanged={onViewableItemsChanged}
      ...//other properties
/>

, и мои функции

  const onViewableItemsChanged = ({
    viewableItems,
  }: {
    viewableItems: Array<number>;
  }) => {
    const insightsById = savedInsights.byId;
    console.log('byId:!', insightsById);
    if (!viewableItems.length) {
      return;
    }

    const visibleInsightId =
      insightsById[viewableItems[Math.max(viewableItems.length - 2, 0)].index];
    console.log(visibleInsightId);
    Analytics.logViewItem({ insight_id: visibleInsightId });
    // const visibleInsightIndex = insightsById.indexOf(visibleInsightId);
  };

  const carouselViewabilityConfig = {
    waitForInteraction: false,
    minimumViewTime: 100,
    viewAreaCoveragePercentThreshold: 50,
  };

Я видел метод, использующий refs но это не сработало, моя функция не запускалась.

Любая помощь приветствуется. Спасибо.

...