|
@@ -28,7 +28,7 @@ const Page = () => {
|
|
|
const [rankData, setRankData] = React.useState<RankItem[]>([]);
|
|
|
const [areaId, setAreaId] = React.useState<number>(Number(searchParams.get("id")));
|
|
|
const [loading, setLoading] = React.useState<boolean>(false);
|
|
|
- const [initLoading, setInitLoading] = React.useState<boolean>(false);
|
|
|
+ const [initLoading, setInitLoading] = React.useState<boolean>(true);
|
|
|
const [noMore, setNoMore] = React.useState<boolean>(false);
|
|
|
const [modalType, setModalType] = React.useState<0 | -1>(0);
|
|
|
|
|
@@ -55,16 +55,17 @@ const Page = () => {
|
|
|
setRankList([]);
|
|
|
setData({} as any);
|
|
|
getData();
|
|
|
+ // setInitLoading(true);
|
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
|
}, [areaId]);
|
|
|
|
|
|
const getData = async () => {
|
|
|
if (loading) return;
|
|
|
try {
|
|
|
+ setLoading(true);
|
|
|
if (pageInfo.current?.page === 1) {
|
|
|
setInitLoading(true);
|
|
|
}
|
|
|
- setLoading(true);
|
|
|
const params: RankRequestParams = {
|
|
|
area_id: areaId,
|
|
|
type: 0,
|
|
@@ -100,10 +101,12 @@ const Page = () => {
|
|
|
}, [data]);
|
|
|
|
|
|
const swiperChange = (swiperData: RankItem) => {
|
|
|
- router.replace(`/rank/detail?id=${swiperData.area_id}`);
|
|
|
- setAreaId(swiperData.area_id);
|
|
|
- pageInfo.current.page = 1;
|
|
|
- getData();
|
|
|
+ if (swiperData.area_id !== areaId) {
|
|
|
+ router.replace(`/rank/detail?id=${swiperData.area_id}`);
|
|
|
+ setAreaId(swiperData.area_id);
|
|
|
+ pageInfo.current.page = 1;
|
|
|
+ getData();
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
const loadMore = () => {
|