我得到了一些图像呈现在彼此之上的卡片,我想使用索引循环遍历我的图像数组。控制台显示我的周期按预期工作,但图像没有更新:/ ps:我用https://github.com/alexbrillant/react-native-deck-swiper
SwipeCard.js
renderCard={(card) => {
let ImageIndex = 0;
const ImageCycle = () => {
ImageIndex === card.Image.length - 1 ? ImageIndex = 0 : ImageIndex++
console.log(ImageIndex);
return ImageIndex
}
return (
<View style={styles.card} key={card.id}>
<TouchableWithoutFeedback onPress={() => {ImageCycle()}}>
<Image style={styles.image} source={card.Image[ImageIndex]}/>
</TouchableWithoutFeedback>
Image: [
require('../ProfileImages/Sydney.jpg'),
require('../ProfileImages/Sydney.jpg'),
require('../ProfileImages/Sydney.jpg'),
],
我考虑过使用useState,但我不太确定如何在这里使用它
1条答案
按热度按时间pxiryf3j1#
哦!看起来你面临的问题与Image组件和ImageCycle函数交互的方式有关。在您的代码中,当按下TouchableWithoutFeedback时,您将调用ImageCycle函数。但是,该函数似乎并不直接更新Image组件。要实现所需的图像循环行为,您可以在组件的状态中管理图像索引,并使用setState函数更新它。
这里有一个例子,可能对你有帮助: