From 1fdbb9fb5d81a65a45c51d42bee7d5be97c5fdb1 Mon Sep 17 00:00:00 2001 From: KimByeongHun Date: Sat, 30 May 2026 00:33:07 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=99=88=20=ED=86=B5=EA=B3=84=20?= =?UTF-8?q?=EC=B9=B4=EB=93=9C=20=ED=8F=AC=EC=BB=A4=EC=8A=A4=20=EC=9E=AC?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(tabs)/(home)/index.tsx | 55 ++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git a/app/(tabs)/(home)/index.tsx b/app/(tabs)/(home)/index.tsx index 0c92fe0..781898d 100644 --- a/app/(tabs)/(home)/index.tsx +++ b/app/(tabs)/(home)/index.tsx @@ -7,7 +7,6 @@ import { View, } from 'react-native'; import { useBottomTabBarHeight } from '@react-navigation/bottom-tabs'; -import { useFocusEffect } from '@react-navigation/native'; import { SafeAreaView } from 'react-native-safe-area-context'; import { router, useLocalSearchParams } from 'expo-router'; import { AppIcon } from '@/components/ui/app-icon'; @@ -96,38 +95,36 @@ export default function HomeScreen() { setSaveToastVisible(true); }, [savedLinkToast]); - useFocusEffect( - useCallback(() => { - const abortController = new AbortController(); - - async function loadStatistics() { - setIsStatisticsLoading(true); - setHasStatisticsError(false); - - try { - const response = await fetchVerdictStatistics({ signal: abortController.signal }); - setStatistics(response); - } catch { - if (abortController.signal.aborted) { - return; - } - - setStatistics(EMPTY_STATISTICS); - setHasStatisticsError(true); - } finally { - if (!abortController.signal.aborted) { - setIsStatisticsLoading(false); - } + useEffect(() => { + const abortController = new AbortController(); + + async function loadStatistics() { + setIsStatisticsLoading(true); + setHasStatisticsError(false); + + try { + const response = await fetchVerdictStatistics({ signal: abortController.signal }); + setStatistics(response); + } catch { + if (abortController.signal.aborted) { + return; + } + + setStatistics(EMPTY_STATISTICS); + setHasStatisticsError(true); + } finally { + if (!abortController.signal.aborted) { + setIsStatisticsLoading(false); } } + } - void loadStatistics(); + void loadStatistics(); - return () => { - abortController.abort(); - }; - }, []), - ); + return () => { + abortController.abort(); + }; + }, []); const handleMore = (id: number, anchor: AnchorPosition) => { setMenuState({ visible: true, anchor, linkId: id });