diff --git a/app/(application)/announcement/index.tsx b/app/(application)/announcement/index.tsx index 23389e6..05bb835 100644 --- a/app/(application)/announcement/index.tsx +++ b/app/(application)/announcement/index.tsx @@ -11,7 +11,7 @@ import { useTheme } from "@/providers/ThemeProvider"; import { MaterialIcons } from "@expo/vector-icons"; import { useInfiniteQuery } from "@tanstack/react-query"; import { router } from "expo-router"; -import { useEffect, useMemo, useState } from "react"; +import { useEffect, useMemo, useRef, useState } from "react"; import { Pressable, RefreshControl, View, VirtualizedList } from "react-native"; import { useSelector } from "react-redux"; @@ -27,6 +27,7 @@ export default function Announcement() { const { colors } = useTheme(); const [search, setSearch] = useState('') const update = useSelector((state: any) => state.announcementUpdate) + const isFirstRender = useRef(true) const { visible: guideVisible, dismiss: dismissGuide } = useGuide('announcement') const arrSkeleton = Array.from({ length: 5 }, (_, i) => i) @@ -61,7 +62,10 @@ export default function Announcement() { }, }) - useEffect(() => { refetch() }, [update, refetch]) + useEffect(() => { + if (isFirstRender.current) { isFirstRender.current = false; return } + refetch() + }, [update]) const flattenedData = useMemo(() => data?.pages.flat() || [], [data])