React Native 固定违规:scrollToIndex超出范围:项长度为0,但最小值为1

1cklez4t  于 2022-11-17  发布在  React
关注(0)|答案(1)|浏览(359)

您好,我正在使用FlatListSlider,在data={PinnedCards}中传递数据时出现此错误(Invariant Violation: scrollToIndex out of =range: item length 0 but minimum is 1)。此处PinnedCards是状态名称。
这是我的flatlistslider组件的外观-

<FlatListSlider
    data={displayPinnedCards && displayPinnedCards}
    component={<Preview navigation={navigation} />}
    onPress={item => alert(JSON.stringify(item))}
    indicatorActiveColor={'#007585'}
    indicatorInActiveColor={'#ffffff'}
    separatorWidth={20}
    loop={false}
/>

这个预览组件是我的自定义组件。它看起来像这样-

<Card style={styles.container}>
  <Card.Content style={styles.cardContent}>
    {item.pinned ? (
      <Ionicons
        style={styles.favorite}
        name="heart"
        size={22}
        onPress={() => callF(item.clientId, false)}
      />
     ) : (
      <Ionicons
        style={styles.favorite}
        name="heart-outline"
        size={22}
        onPress={() => callF(item.clientId, true)}
      />
      )}
  </Card.Content>
</Card>

每次当状态发生变化时,应更新项目属性,但未更新

ctehm74n

ctehm74n1#

当您写入以下内容时:

data={displayPinnedCards && displayPinnedCards}

这意味着如果displayPinnedCards为true(包含信息),它将返回一个数组,但如果它为undefined、null或false,它将返回undefined。
那么试试这个:

<FlatListSlider
   data={displayPinnedCards ? displayPinnedCards : []}
   component={<Preview navigation={navigation} />}
   onPress={item => alert(JSON.stringify(item))}
   indicatorActiveColor={'#007585'}
   indicatorInActiveColor={'#ffffff'}
   separatorWidth={20}
   loop={false}
  />

相关问题