2017-12-07 2 views
1

auszuschließen Ich bin ein bisschen mit der Route-Komponente fest. Stellen Sie sich vor Ich habe diese zwei Routen mit ihrem eigenen Weg:Einen Wert für einen Pfadparameter in React Router durch Typ

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

/Person/hinzufügen sollte eine Form zeigen, wo ich eine neue Person anlegen
/Person /: id sollte eine Person mit dem angegebenen zeigen Ich würde.

Das Problem >> Wenn ich /Person navigieren/hinzufügen es zeigt auch die Komponente des /Person /: id, da die Zeichenfolge "add" gültig für ": id".

Gibt es eine Möglichkeit, die ich vermeiden kann? Zum Beispiel indem du sagst: ID sollte eine Nummer sein?

+1

'/ person/add' sollte nur'/person' sein, dann ist der Zustand, in dem es keinen Parameter gibt, der add-Status und Sie können ihn zur Bearbeitung wiederverwenden. Es macht Sinn: p –

+0

Sie können dies von Interesse finden https://StackOverflow.com/a/35604855/1915893 –

+1

@AluanHaddad Das ist in der Tat, wie ich es gelöst habe, aber immer noch fragte ich, ob es eine andere Lösung dafür gibt. Vielen Dank! – Wannes

Antwort

2

Eine mögliche Lösung gefunden: Sie können Switch um die Routen verwenden. Dann wird es nur auf dem ersten übereinstimmen, der übereinstimmt.

Verwandte Themen