2017-12-07 11 views
1

경로 구성 요소가 조금 붙어 있습니다. 나는 자신의 경로로이 두 경로가 상상 :유형별로 리얼 라우터에서 경로 매개 변수 값을 제외하십시오.

<Route path='/person/add' exact component={PersonForm}/> 
<Route path='/person/:id' exact component={PersonView}/> 

/사람/나는 새로운 사람을 만들 수있는 양식을 표시해야합니다를 추가
/사람/: ID는 주어진 가진 사람을 표시해야합니다 신분증.

문제 >> 내가 /사람에게 이동하는 경우 추가/ 또한 /사람 /의 구성 요소가 표시됩니다 : "ID"문자열 "추가"가 유효하기 때문에 ID합니다.

내가 이것을 피할 수있는 방법이 있습니까? 예를 들어 다음과 같이 말합니다. id는 숫자 여야합니까?

+1

'/ person/add'는 단지'/ person'이어야합니다. 매개 변수가없는 상태는 추가 상태이며 편집을 위해 재사용 할 수 있습니다. 그것은 의미가 있습니다 : p –

+0

관심이 있습니다 https://stackoverflow.com/a/35604855/1915893 –

+1

@AluanHaddad 그게 실제로 어떻게 해결되었지만, 또 다른 해결책이 있는지 묻고있었습니다. 감사! 알았어. – Wannes

답변

2

가능한 해결책을 찾았습니다 : 스위치 주위에 스위치를 사용할 수 있습니다. 그런 다음 일치하는 첫 번째 항목에서만 일치합니다.

<Switch> 
    <Route path='/person/add' exact component={PersonForm}/> 
    <Route path='/person/:id' exact component={PersonView}/> 
</Switch>