1. auth 및 fetch 데이터를 완전히 받아올 때까지, 즉 비동기 작업이 완료될 때까지 보여줄 로딩 화면이 필요하다.
- isLoading 상태 관리
- 로딩이 완료되면 isLoading 상태를 false로 변경합니다.
- isLoading이 true인 경우(로딩 중 상태) <LoadingScreen /> 컴포넌트를 렌더링하여 로딩 화면을 보여준다
function App() {
const [isLoading, setIsLoading] = useState(true);
const init = async () => {
// firebase 로딩, 로딩이 끝나면 로딩 스테이트 변경
setIsLoading(false);
};
useEffect(() => {
init();
}, []);
return (
<>
<GlobalStyles />
{isLoading ? <LoadingScreen /> : <RouterProvider router={router} />}
</>
);
}
'[Study] 개발 공부 > [React] 리액트 공부' 카테고리의 다른 글
[React+Vite/TS] Firebase에 인증된 사용자만 접근 가능한 라우트 만들기 (0) | 2024.05.17 |
---|---|
[React+Vite/TS] Firebase 사용하여 이메일/비밀번호로 계정 생성하기 (0) | 2024.05.14 |
GlobalStyles 적용하기 (0) | 2024.05.01 |
라우팅: ReactRouter의 <Outlet> (0) | 2024.05.01 |
React + TypeScript + Vite 프로젝트 시작하기 (0) | 2024.05.01 |