سلام استاد وقتتون بخیر
من یه سری داده دارم دقیقا مث اموزشتون از api میخونم
بعد میخام این داده هارو بدم به flatlist که حالت slide show نشون بده و auto scroll داشته باشه
کدی که دارم داده رو میفرستم به یه function که اونجا کارایه auto scroll رو انجام بدم اینجوریه
const Carousel =({ data }) => {
const scrollX = new Animated.Value(0)
const [dataList, setDataList] = useState(data)
useEffect(()=> {
setDataList(data)
infiniteScroll(dataList)
})
اینجا داده دقیقا درست میاد
حالا اینم function
function infiniteScroll(dataList){
console.log(dataList.length)
const numberOfData = dataList.length
let scrollValue = 0, scrolled = 0
setInterval(function() {
scrolled ++
if(scrolled < numberOfData)
scrollValue = scrollValue + width
else{
scrollValue = 0
scrolled = 0
}
this.flatList.scrollToOffset({ animated: true, offset: scrollValue})
}, 3000)
}
داده پیش فرض که میفرستم درست کار میکنه
و وقتیم که لاگ میگیرم تو خط اول فانکشن دو بار دقیقا به اندازه طول داده لاگ درست میده و همه چیز درسته
ولی وقتی داده از api میخونم و میفرستم به فانکشن اول یه صفر لاگ میده بعد تعداد و درست میده
و scroll هم اینجوری میشه که عکس اول رو نشون میده میره دومی برمیگرده اولی باز میره سومی باز اولی تا اخر همنیجوری
ممنون میشم اگه راهنماییم کنین خیلی فکر کردم روش نتونستم درستش کنم
مرسی
سلام دوست من
کامپوننتهای آماده برای اینکار موجود هست جستجو کنید