useEffect 는 상위컴포넌트부터 하위컴포넌트로까지 차례대로 실행되고난 뒤 다시 최하위컴포넌트부터 차례대로 상위컴포넌트로 올라가며 각각의 useEffect 가 실행된다.
앱에서 사용할 데이터를 비동기로 받아오는 작업을 최상위 컴포넌트인 HomeProvider 의 useEffect 에서 수행하였다. 최하위 컴포넌트는 BannerSlide 에서 context로 부터 데이터를 가져오는 커스텀 훅(예를 들어 useSomeData)을 실행한다.
하지만 useSomeData 를 실행하는 시점은 아직 HomeProvider 의 useEffect 가 실행되기 전이다. 따라서 useSomeData 의 리턴값이 없는 것이다.