amalia/19-mei-26 #50
@@ -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])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user