0

嗨!我正在使用 react-native-flatslider 处理静态图像,它工作正常,但获取 apis 的图像不能正常工作。它显示我

Invariant Violation: scrollToIndex out of range: item length 0 but minimum is 1

所以我搜索它但没有得到帮助我解决的东西。

代码


const Preview = ({
    item,
    onPress,
    index,
  }) => {
      
    return(
        <TouchableOpacity
      style={[styles.videoContainer,{
          // marginLeft:index == 0 ? wp('2'): 0,
      }]}
     >
      <View style={[styles.imageContainer, styles.shadow]}>
        <Image
          style={{height:hp('22'), width:wp('90'), borderRadius:10,}}
          source={item.banner}
        />
      </View>
     
    </TouchableOpacity>
    )
}

const SliderCarouselFlat = () => {
  const [banners, setBanners] = useState([])
  const [index, setIndex] = useState(0)
  const slider = useRef()


  useEffect(()=>{
    getBanners()
  },[])


  // API CALL
  const getBanners =async () =>{
    try{
      const {data} =await getBannersApi()
      setBanners(data)
    }catch(e){
      console.log(e)
    }
  }

  return (
    <View style={styles.container}>
     <View>
      <FlatListSlider
        data={images}
        height={200}
        timer={2000}
        keyExtractor={item => item.key.toString()}
        onPress={item => alert(JSON.stringify(item))}
        component={<Preview/>}
        indicatorContainerStyle={{position:'absolute', bottom: 20}}
        indicatorActiveColor={'#ffffff'}
        indicatorInActiveColor={'#ffffff80'}
        loop={false}
        animation
      />
      </View> 
    </View>
  );
};

有人可以指导我缺少什么或如何解决吗?

4

0 回答 0