index.jsx 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import React, { useState, useEffect } from 'react'
  2. import './index.scss'
  3. import { ScrollView } from '@tarojs/components'
  4. import ActivityListItem from '../components/ActivityListItem/index'
  5. export default function MyCollectForActivity (props) {
  6. const { Data = {} } = props
  7. const [PageList, setPageList] = useState(['', '', '', '', '', '', '', '', '', '', '', '', ''])
  8. const [IsPull, setPull] = useState(false)
  9. const [PullTimer, setPullTimer] = useState(null)
  10. const PageRefresh = () => { // 页面下拉刷新回调
  11. setPull(true)
  12. }
  13. useEffect(() => { // 下拉刷新触发
  14. if (IsPull) {
  15. clearTimeout(PullTimer)
  16. setPullTimer(setTimeout(() => {
  17. setPull(false)
  18. }, 2000))
  19. }
  20. }, [IsPull])
  21. return (
  22. <view className='components activityList'>
  23. <ScrollView scroll-y={true} refresher-enabled={true} refresher-triggered={IsPull} onrefresherrefresh={PageRefresh} refresher-background='#f8f8f8'>
  24. <view className='PageContent'>
  25. <view className='List'>
  26. {
  27. PageList.map((item, index) => (
  28. <ActivityListItem Data={item} key={`ActivityListItem-${index}`}></ActivityListItem>
  29. ))
  30. }
  31. </view>
  32. {/* bottom */}
  33. <view className='PageBottom'>
  34. <text>已经到底了~</text>
  35. </view>
  36. </view>
  37. </ScrollView>
  38. </view>
  39. )
  40. }