Suspense를 사용하여 리액트 라우터의 로딩 상태를 표시하는 방법은?

먼저, 리액트 라우터를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다:

npm install react-router-dom

리액트 라우터를 설치한 후, 로딩 상태를 표시하기 위해 Suspense 컴포넌트를 사용할 수 있습니다. Suspense 컴포넌트는 리액트의 lazy로딩 기능과 함께 사용됩니다.

먼저, 로딩 상태를 표시할 로딩 컴포넌트를 작성합니다. 예를 들어, Loading 컴포넌트를 만들어 사용할 수 있습니다:

import React from 'react';

const Loading = () => {
  return <div>Loading...</div>;
};

export default Loading;

그리고 사용자에게 보여줄 컴포넌트를 lazy로딩합니다. 예를 들어, Home 컴포넌트를 lazy로딩하여 사용할 수 있습니다:

import React, { lazy, Suspense } from 'react';
import Loading from './Loading';

const Home = lazy(() => import('./Home'));

const App = () => {
  return (
    <div>
      <Suspense fallback={<Loading />}>
        <Home />
      </Suspense>
    </div>
  );
};

export default App;

위의 코드에서 <Suspense> 컴포넌트는 fallback 속성을 통해 로딩 상태를 표시할 컴포넌트를 전달받습니다. Loading 컴포넌트는 로딩 중인 동안 사용자에게 표시됩니다. <Home> 컴포넌트는 lazy로딩되어 보여주고 싶은 컴포넌트로 대체됩니다.