import { useState, useEffect } from 'react'; /** * 현재 시간을 반환하는 최적화된 훅 * 1분마다 자동 업데이트 * * ✅ SSR-safe: useEffect를 사용하여 클라이언트에서만 시간 초기화 * 이를 통해 서버/클라이언트 하이드레이션 불일치 방지 */ export function useCurrentTime(updateInterval = 60000) { // ✅ 초기값을 빈 문자열로 설정 (서버 렌더링 시 안전) const [currentTime, setCurrentTime] = useState(''); useEffect(() => { // ✅ 클라이언트 마운트 시 즉시 현재 시간 설정 setCurrentTime(new Date().toLocaleString('ko-KR')); // 주기적 업데이트 const interval = setInterval(() => { setCurrentTime(new Date().toLocaleString('ko-KR')); }, updateInterval); return () => clearInterval(interval); }, [updateInterval]); return currentTime; }