찾다

 >  Q&A  >  본문

React-router v6의 탐색경로 탐색 및 부분 일치 라우팅

저는 이전에 use-react-router-breadcrumbs라는 타사 라이브러리를 사용하여 탐색경로를 설정했지만, 문서에 따르면 이제 React-router-dom v6.8.1(현재 최신 버전)을 사용하고 있습니다. "내장 반응 라우터 방식"에 대한 문서는 여기에 있습니다. 이는 각 경로의 핸들 객체에 탐색경로를 연결하고 이를 검색하기 위해 useMatches 후크를 사용하는 것을 기반으로 합니다.

그래서 코드를 다시 작성했는데, 고칠 수 없는 꽤 큰 결함이 있습니다. 3개의 경로가 있고 2와 3이 1 아래에 중첩되어 있다고 가정해 보겠습니다.

으아아아

사용자 정의 라이브러리를 사용하면 /users/:id로 이동하여 각 경로에 대한 이동 경로를 얻을 수 있으며 전체 이동 경로 탐색은 다음과 같습니다.

"홈 -> 사용자 -> John Doe"

그러나 새로운 내장 메소드와 useMatches() 후크를 사용하면 경로 1과 3만 일치시킬 수 있습니다. 경로 2(/users)는 일치하는 것으로 간주되지 않으며 해당 경로에 대한 이동 경로에 액세스할 수 없습니다. 결과는 다음과 같습니다. 이는 제가 원하는 것이 아닙니다.

"홈 -> John Doe"

제 질문은: 이 상황을 어떻게 처리해야 합니까? 내 첫 번째 생각은 이동 경로가 올바르게 표시되도록 경로 3을 2 아래에 중첩시키는 것이었지만 실제로는 경로 1(레이아웃)과 경로 3( 사용자 세부정보 페이지).

useMatches()가 부분 일치를 반환하는 구성을 허용할 것으로 예상했지만 이 후크는 어떤 입력도 허용하지 않는 것 같습니다.

롤백하고 타사 라이브러리로 돌아가려고 하는데 그렇게 하기 전에 여기에 물어보고 싶었습니다. 그들은 useMatches 및 핸들 개체를 기반으로 하는 기본 솔루션을 사용하는 것이 분명히 권장되기 때문입니다. 이것이 반응 라우터 탐색경로를 처리하는 공식적으로 권장되는 방법이라면 해결책이 있어야 한다고 생각합니다.

P粉520545753P粉520545753319일 전464

모든 응답(1)나는 대답할 것이다

  • P粉113938880

    P粉1139388802024-01-11 11:17:49

    제가 이해한 바에 따르면 이는 "/users""/users/:id"是兄弟路由。重构路由配置,使"/users/:id"成为"/users"的子路由,这样就有了一个“逻辑路径”,从"/""users"":id"의 다양한 부문 때문입니다.

    예:

    으아악

    회신하다
    0
  • 취소회신하다