@@ -6,6 +6,7 @@ import { useEffect, useRef, useState } from 'react';
66import defaultImage from '@assets/images/default.png' ;
77import axios from 'axios' ;
88import { useInfiniteQuery } from '@tanstack/react-query' ;
9+ import LoadingMini from '../loading/LoadingMini' ;
910
1011function MusicSearchSheet ( ) {
1112 const [ searchText , setSearchText ] = useState ( '' ) ;
@@ -31,8 +32,8 @@ function MusicSearchSheet() {
3132
3233 const {
3334 data, // 가져온 데이터
34- // isLoading, // 첫 페이지 로딩 중
35- // isFetchingNextPage, // 다음 페이지 로딩 중
35+ isLoading, // 첫 페이지 로딩 중
36+ isFetchingNextPage, // 다음 페이지 로딩 중
3637 hasNextPage, // 다음 페이지 여부
3738 fetchNextPage, // 다음 페이지 요청 함수
3839 } = useInfiniteQuery ( {
@@ -95,6 +96,13 @@ function MusicSearchSheet() {
9596 </ div >
9697 ) ;
9798 }
99+ if ( isLoading ) {
100+ return (
101+ < div className = "flex justify-center mt-5" >
102+ < LoadingMini />
103+ </ div >
104+ ) ;
105+ }
98106
99107 if ( ! data ?. pages [ 0 ] . items . length ) {
100108 return (
@@ -107,7 +115,7 @@ function MusicSearchSheet() {
107115 return (
108116 < div className = "flex flex-col divide-y divide-gray-5" >
109117 { data ?. pages . map ( ( page , index ) => (
110- < div key = { index } className = ' flex flex-col divide-y divide-gray-5' >
118+ < div key = { index } className = " flex flex-col divide-y divide-gray-5" >
111119 { page . items . map ( ( music : SpotifyMusic , i : number ) => (
112120 < MusicSearchList
113121 key = { i }
@@ -119,6 +127,11 @@ function MusicSearchSheet() {
119127 ) ) }
120128 </ div >
121129 ) ) }
130+ { isFetchingNextPage && (
131+ < div className = "flex justify-center mt-5" >
132+ < LoadingMini />
133+ </ div >
134+ ) }
122135 </ div >
123136 ) ;
124137 } ;
0 commit comments