2017-05-26 7 views
2

Ich möchte Artikelseite erstellen, verlinkt in Blog-Eintrag. Meine Route:Requisiten-Komponenten mit React Router v4 übergeben

<Route path = '/blog/:slug' component={Article} /> 

Ich weiß nicht, wie ich meine Requisiten Daten übergeben kann (Titel, Beschreibung, etc ..) Zu meinen Artikel Komponenten. Ich bin auf MeteorJS-Projekt und meine Daten sind nicht statisch, sondern mit MongoDB.

Wissen Sie, ob ich globales Objekt übergeben kann? :

<Route path = '/blog/:slug' component={Article} data={props} /> 

Kann mir jeder helfen? :)

Danke Gemeinde!

Antwort

2

Sie können eine Inline-Funktion render anstelle von component verwenden und Requisiten wie üblich übergeben.

Als Beispiel, wenn Sie Titelleiste an Article-Komponente übergeben möchten, können Sie so etwas tun.

<Route path = '/blog/:slug' render={(props)=><Article title="My article title" {...props}/>} /> 

Hier props ist Requisiten aus Router kommen wie Spiel, Lage, Geschichte und staticContext. Sie können {...props} entfernen, wenn Sie nicht möchten, dass sie in Ihrer Artikelkomponente enthalten sind.

+0

Hi Tharaka, danke für Ihre Antwort. Ich verstehe deine Lösung. Aber ich verstehe nicht, dass ich meine Daten weitergeben kann, wenn ich auf meinen Link klicke :) Wenn ich meine Daten sende? Meine Route befindet sich auf routes.js, mit all meinem Routing. Vielen Dank ! –

+0

Da Ihr Datum auf 'slug' basiert, können Sie Daten als Requisiten übergeben. Weil Sie für verschiedene "Slug" anders als übergeben müssen. Der richtige Ansatz ist das Laden von Daten innerhalb der 'componentDidMount'-Lebenszyklusmethode der Artikelkomponente. –

Verwandte Themen