【问题标题】:ERROR Invariant Violation: Changing onViewableItemsChanged on the fly is not supported错误不变违规:不支持动态更改 onViewableItemsChanged
【发布时间】:2021-08-17 14:02:14
【问题描述】:

如何解决这个问题“ERROR Invariant Violation: Changing onViewableItemsChanged on the fly is not supported”

这是我的代码

 <Animated2.FlatList
            pagingEnabled={true}
            horizontal
            data={ads}
            keyExtractor={item => item.id.toString()}
            onViewableItemsChanged={({viewableItems, changed}) => {
              console.log(viewableItems[0].index);
              setSelectedIndex(viewableItems[0].index);
            }}
            onScroll={() => goToSelectedLocation(selectedIndex)}
            renderItem={({item, index}) => {
              return (
                <MapCard
                  onPress={() => goToSelectedLocation(index)}
                  style={{margin: 4}}
                  title={item.title}
                  image={item.image}
                  price={item.price}
                />
              );
            }}
          />

【问题讨论】:

    标签: javascript react-native react-native-flatlist


    【解决方案1】:

    你必须使用回调钩子

    const onViewableItemsChanged = useCallback((viewableItems) => {
       console.log(viewableItems[0].index);
       setSelectedIndex(viewableItems[0].index);
    },[]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-08
      • 2015-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-09
      • 2017-07-24
      • 2018-12-19
      相关资源
      最近更新 更多