2016-05-31 5 views
0

경로가 :subcategory/me입니다. 내 처리기의 논리에서 보조 subcategory이 설정되지 않은 경우 기본 콘텐츠가 표시되어야하지만 /me URL을 사용할 때 불변의 위반 : "/ me/: 하위 범주의 경로에 대한 하위 범주 매개 변수가 누락되었습니다"불변 위반 : 경로에 대한 매개 변수가 누락되었습니다.

<Route path="me"> 
    <Route handler={Me} name="me" path=":subcategory" /> 
</Route> 

내가 뭘 잘못하고 있니? 두 라우트에 대한 핸들러를 지정해도 아무런 차이가 없습니다. 정말 발견 쉽게 에 대한 정보가 없기 때문에 처음에는

답변

0

내가, 인터넷을 통해 불필요하게 오랜 연구 후, 내 <Route> 정의에 문제가 생각, 그래서, 나는 경로가 올바른지 발견했다 이에 대한 해결책은 두 가지가 있다는 것입니다. > 추가 - <Link params={{subcategory: 'app'}} to='me'>Me</Link>

  • 은 선택 서브 패스를 확인 : <Link to='me'>Me</Link>
    후 :

    1. ALL은 (당신이 바보 프로그래머, 아니, null가 작동하지 않습니다)
      전에 매개 변수 설정 될 필요 링크
      <Route handler={Me} name="me" path=":subcategory?" />

    두 번째 접근법의 장점은 모든 이전 링크를 찾고 리팩토링 할 필요가 없다는 점입니다. 핸들러의 논리 만 있습니다.