@@ -45,6 +45,8 @@ const BlogList: React.FC = () => {
4545 page : currentPage ,
4646 size : pageSize ,
4747 } ) ;
48+ // 디버깅 로그: 환경/페이지/사이즈/데이터 길이
49+ console . log ( '[BlogList] env' , import . meta. env . MODE , 'page' , currentPage , 'size' , pageSize , 'len' , blogData ?. content ?. length ) ;
4850
4951 // zustand store
5052 const getPreviewBatch = useLinkPreviewStore ( state => state . getPreviewBatch ) ;
@@ -53,17 +55,33 @@ const BlogList: React.FC = () => {
5355
5456 // 3개씩 배치로 LinkPreview 요청
5557 useEffect ( ( ) => {
56- if ( ! blogData ?. content ) return ;
58+ if ( ! blogData ?. content ) {
59+ console . log ( '[BlogList] preview-skip: no content' ) ;
60+ return ;
61+ }
5762 const urls = blogData . content . map ( blog => blog . link ) ;
5863 const batchSize = 3 ;
64+ console . log ( '[BlogList] preview-start' , { total : urls . length , batchSize, sample : urls . slice ( 0 , 3 ) } ) ;
5965 const runBatches = async ( ) => {
6066 for ( let i = 0 ; i < urls . length ; i += batchSize ) {
61- await getPreviewBatch ( urls . slice ( i , i + batchSize ) ) ;
67+ const slice = urls . slice ( i , i + batchSize ) ;
68+ console . log ( '[BlogList] preview-batch' , { from : i , to : i + slice . length , slice } ) ;
69+ try {
70+ await getPreviewBatch ( slice ) ;
71+ } catch ( e ) {
72+ console . error ( '[BlogList] preview-batch-error' , e ) ;
73+ }
6274 }
75+ console . log ( '[BlogList] preview-done' ) ;
6376 } ;
6477 runBatches ( ) ;
6578 } , [ blogData , getPreviewBatch ] ) ;
6679
80+ // 디버깅: 로딩/에러 상태 변화 추적
81+ useEffect ( ( ) => {
82+ console . log ( '[BlogList] state' , { loading, error : error ?. message , pageInfo } ) ;
83+ } , [ loading , error , pageInfo ] ) ;
84+
6785 // 페이지네이션 핸들러
6886 const handlePageChange = ( page : number ) => {
6987 setCurrentPage ( page ) ;
0 commit comments