2017-12-11 4 views
0

Ich sehe in der React Router-Dokumentation, dass Sie in Komponenten die match Requisite übergeben, und Sie können match.url aufrufen, aber Sie scheinen nie tatsächlich etwas an die Komponente übergeben. Also was genau ist Match und wo bekommen Sie es her?Was genau ist match.url in React Router?

Antwort

0

this helps: https://reacttraining.com/react-router/web/api/match

Sie erhalten match in den Requisiten, in der Regel, wenn die Komponente durch eine Strecke aufgerufen wird Sie es bekommen, und Sie können es mit anderen Komponenten als reguläre Requisiten überliefern zu extrahieren oder Verwendung die Information.

location ist auch sehr nützlich bei der Interaktion mit React-Router. Ich verwende normalerweise Übereinstimmung, um das Rendering und die Weiterleitung abhängig von dem Flag isExact und dem Ort durchzuführen, um die tatsächliche URL zu haben, die der Browser hat.

0

Siehe match() ist pure JavaScript die String-Eigenschaft. Wenn also eine Übereinstimmung in JSX verwendet wird, hat reaction auch die benutzerdefinierte Eigenschaft match festgelegt, sodass sie nicht mit der Hauptdatei match() in Konflikt steht und es sich um ein globales Objekt für React Router handelt.

Ich könnte falsch sein, dies zu erklären, aber werfen Sie mir einen Knochen hier Mann, weil ich dieses Problem konfrontiert habe und wusste, dass keine Angst haben, dass es in Requisiten oder Zustand übergeben werden sollte. Tatsächlich handelt es sich um eine benutzerdefinierte Eigenschaft in JSX, die nicht in Konflikt mit der Eigenschaft des tatsächlichen String.prototypes steht.

So Kopf Ohne Messing, denkt, es ist nur als die match() Eigenschaft, die besonders von den globalen Objekt wird in Reaktion Router