Investigate data initialization issue

Investigates and addresses a potential data loss issue where budget data is unexpectedly reset when navigating between pages.
This commit is contained in:
gpt-engineer-app[bot]
2025-03-16 07:23:16 +00:00
parent d59fb97f7c
commit 7c8e542912
3 changed files with 78 additions and 48 deletions

View File

@@ -8,7 +8,14 @@ export const useDataInitialization = (resetBudgetData?: () => void) => {
// 모든 데이터 초기화 함수
const initializeAllData = useCallback(() => {
console.log('모든 데이터 초기화 시작');
// 이미 방문한 적이 있으면 초기화하지 않음
if (localStorage.getItem('hasVisitedBefore') === 'true') {
console.log('이미 앱을 방문한 적이 있으므로 데이터를 초기화하지 않습니다.');
setIsInitialized(true);
return true;
}
console.log('첫 방문: 모든 데이터 초기화 시작');
// 현재 dontShowWelcome 값 백업
const dontShowWelcomeValue = localStorage.getItem('dontShowWelcome');
@@ -75,14 +82,14 @@ export const useDataInitialization = (resetBudgetData?: () => void) => {
return true;
}, []);
// 데이터 초기화 실행
// 데이터 초기화 실행 - 첫 방문시에만
useEffect(() => {
if (!isInitialized) {
const result = initializeAllData();
setIsInitialized(result);
}
// 방문 기록 저장 (초기화 후에 저장)
// 방문 기록 저장 (첫 방문 이후 항상 true로 설정)
localStorage.setItem('hasVisitedBefore', 'true');
}, [isInitialized, initializeAllData]);