Compare commits
No commits in common. 'a43a0fabc2e5de0ae96e960b3057bd51845a43fb' and 'cb88f49e85f99b7676cbabf1ecd313e3fdd5759f' have entirely different histories.
a43a0fabc2
...
cb88f49e85
@ -1,18 +0,0 @@ |
|||||||
import {CSSProperties, FC} from "react"; |
|
||||||
import {View} from "@tarojs/components"; |
|
||||||
|
|
||||||
interface Props { |
|
||||||
text?: string |
|
||||||
styles?: CSSProperties |
|
||||||
className?: string |
|
||||||
} |
|
||||||
|
|
||||||
const PageScript: FC<Props> = (props) => { |
|
||||||
return <View |
|
||||||
className={'text-center font-24 text-dark py-3 ' + props.className} |
|
||||||
style={props.styles}> |
|
||||||
{props.text || "暂无更多"} |
|
||||||
</View> |
|
||||||
} |
|
||||||
|
|
||||||
export default PageScript |
|
@ -1,4 +0,0 @@ |
|||||||
export default definePageConfig({ |
|
||||||
navigationBarTitleText: '推荐文章', |
|
||||||
onReachBottomDistance: 50 |
|
||||||
}) |
|
@ -1,56 +0,0 @@ |
|||||||
import {FC, useEffect, useState} from "react"; |
|
||||||
import {View} from "@tarojs/components"; |
|
||||||
import {publicApi} from "@/api"; |
|
||||||
import Spin from "@/components/spinner"; |
|
||||||
import ArticlesBox from "@/components/articlesBox/articlesBox"; |
|
||||||
import {useReachBottom} from "@tarojs/taro"; |
|
||||||
import PageScript from "@/components/pageScript/pageScript"; |
|
||||||
import Empty from "@/components/empty/empty"; |
|
||||||
|
|
||||||
const JumpArticlesConfig: FC = () => { |
|
||||||
const [page, setPage] = useState(1) |
|
||||||
const [total, setTotal] = useState(0) |
|
||||||
const [enable, setEnable] = useState(true) |
|
||||||
const [data, setData] = useState<Articles[]>([]) |
|
||||||
|
|
||||||
useEffect(() => { |
|
||||||
publicApi.articlesPush(page, 10).then(res => { |
|
||||||
setTotal(res.total) |
|
||||||
const result = res.list.reduce((pre, cur) => { |
|
||||||
const index = pre.findIndex(d => d.id === cur.id) |
|
||||||
if (index === -1) { |
|
||||||
pre.push(cur) |
|
||||||
} else { |
|
||||||
pre.splice(index, 1, cur) |
|
||||||
} |
|
||||||
return pre |
|
||||||
}, data) |
|
||||||
setData(result) |
|
||||||
}).finally(() => { |
|
||||||
setEnable(false) |
|
||||||
}) |
|
||||||
}, [page]) |
|
||||||
|
|
||||||
useReachBottom(() => { |
|
||||||
if (data.length < total) { |
|
||||||
setPage(page + 1) |
|
||||||
} |
|
||||||
}) |
|
||||||
|
|
||||||
|
|
||||||
return ( |
|
||||||
<View> |
|
||||||
<Spin enable={enable} overlay/> |
|
||||||
<View className='bg-white rounded-20 clip m-3 px-3'> |
|
||||||
{ |
|
||||||
data.length > 0 |
|
||||||
?data.map(d => <ArticlesBox data={d}/>) |
|
||||||
:<Empty name='暂无更多文章'/> |
|
||||||
} |
|
||||||
</View> |
|
||||||
<PageScript/> |
|
||||||
</View> |
|
||||||
) |
|
||||||
} |
|
||||||
|
|
||||||
export default JumpArticlesConfig |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 3.4 KiB |
Loading…
Reference in new issue