https://stackblitz.com/edit/react-2hsm9o?file=src%2FApp.js,package.json,src%2Findex.js
const isLoading = useIsFetching();
위 코드는 useIsFetching
을 사용해서 로딩을 표시하고 있습니다.
하지만 이 값은 페이지 전체에 공유됩니다. 즉, ETH와 BTC는 서로 다른 타이밍에 로딩이 완료됨에도 불구하고, 둘 다 완료되어야지만 둘다 표시되는 Promise.all
처럼 동작하게 됩니다.
요구사항은 이 부분을 분리하고, 먼저 로딩되면 먼저 보이도록 하고자 합니다.
(ETH가 먼저 로딩됨: ETH 표시 / BTC 로딩중)
Chart
컴포넌트도 수많은 쿼리를 가집니다.로딩중
상태가 풀려야 합니다.const { data: price, isFetching } = useCoinPrice(ticker);
const isLoading = isFetching;
useCoinPrice
의 로딩을 격리하는게 아니라, useIsFetching
을 컴포넌트 단위로 격리하고자 하는 것입니다.