>  기사  >  웹 프론트엔드  >  React Router v4 또는 v5에서 경로를 효과적으로 중첩하려면 어떻게 해야 하나요?

React Router v4 또는 v5에서 경로를 효과적으로 중첩하려면 어떻게 해야 하나요?

Barbara Streisand
Barbara Streisand원래의
2024-11-01 03:46:27975검색

How do I effectively nest routes in React Router v4 or v5?

React Router v4/v5를 사용한 중첩 경로

React Router로 작업할 때 애플리케이션의 탐색 구조를 구성하기 위해 중첩 경로를 생성해야 하는 경우가 많습니다. 이를 통해 관련 경로를 그룹화하고 계층적 라우팅 시스템을 만들 수 있습니다.

문제:

사용자는 React Router v4 또는 v5에서 경로를 중첩하는 데 어려움을 겪을 수 있습니다. 일반적인 과제 중 하나는 애플리케이션을 프런트엔드 및 관리 영역과 같은 별도의 섹션으로 분할하고 하위 경로가 적절한 구성 요소 내에서 렌더링되는지 확인하는 방법을 결정하는 것입니다.

답변:

React Router v4 및 v5에서는 구성 요소. 대신 경로는 다른 구성 요소 내에 중첩됩니다. 이 접근 방식은 이전 버전의 React Router에서 사용된 중첩 구문과 다릅니다.

예를 들어 다음 경로 구성을 고려해보세요.

<code class="jsx"><Route path='/' component={Frontpage}>
  <Route path='/home' component={HomePage} />
  <Route path='/about' component={AboutPage} />
</Route>
<Route path='/admin' component={Backend}>
  <Route path='/home' component={Dashboard} />
  <Route path='/users' component={UserPage} />
</Route>
<Route component={NotFoundPage} /></code>

이 구성에서 Frontpage 구성 요소는 상위 구성 요소 역할을 합니다. 프런트엔드 경로의 구성 요소이고 백엔드 구성 요소는 관리 경로의 상위 구성 요소입니다. 이를 통해 애플리케이션의 각 섹션에 대해 별도의 레이아웃과 스타일을 생성할 수 있습니다.

예를 들어 이전에 다음과 같이 다시 작성할 수 있습니다.

<code class="jsx"><Route path='/topics' component={Topics} /></code>

그리고 Topics 구성 요소는 하위 경로를 다음과 같이 렌더링합니다.

<code class="jsx">const Topics = ({ match }) => (
  <div>
    <h2>Topics</h2>
    <Link to={`${match.url}/exampleTopicId`}>
      Example topic
    </Link>
    <Route path={`${match.path}/:topicId`} component={Topic}/>
  </div>
);</code>

이 접근 방식을 따르면 React Router에서 경로를 효과적으로 중첩할 수 있습니다. v4 또는 v5. 이를 통해 애플리케이션에 대한 명확하고 체계적인 탐색 구조를 만들 수 있습니다.

위 내용은 React Router v4 또는 v5에서 경로를 효과적으로 중첩하려면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.