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:
@@ -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]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user