2016-05-19 5 views
3

Wie erhalte ich die params einer Route innerhalb einer Komponente Im reagiert das reagieren mit reagieren Behälter von Komponisten Paket , wenn dies die ganze Strecke istMeteor Flow-Router und params des Weges in einem immer reagiert Komponente

https://learnbuildrepeat-tevinthuku.c9users.io/ReadProjectMeta/wD98XTTtpf8ceyRJT

Wie erhalte ich nur

wD98XTTtpf8ceyRJT

und speichern seinen Wert in einer Variable innerhalb einer Komponente reagieren. Ive versucht zu verwenden

FlowRouter.getParam() aber es funktioniert nicht. Ich erhalte

undefined
import React from 'react'; 
export default class ReadProjectMetaLayout extends React.Component { 
render() { 
var category = FlowRouter.getQueryParam(); 
console.log(category); 
return (
<div> 
<h4>Hello World</h4> 
</div> 
) 
} 
} 

Dies ist die Strecke

FlowRouter.route("/ReadProjectMeta/:_id", { 
name: 'project.meta', 
action(params) { 
mount(ReadProjectMetaLayoutContainer, { 
components: (<ReadProjectMeta _id={params._id}/>) 
}) 
} 
}); 

Was das Problem sein könnte und wie löse ich es

Antwort

3

Um nur den letzten Teil der Zeichenfolge zu erhalten:

location.pathname.substr((location.pathname.lastIndexOf('/')+1)) 

Eine andere reine Meteor basierte Sache, die Sie versuchen können, ist von this reference:

FlowRouter.getParam(":_id"); 

HINWEIS: Ihre Lösung hat nicht funktioniert, wie Sie Abfrageparameter erhalten, sind Abfrageparameter die Parameter, die nach dem in der URL übergeben werden ‚?‘

dh /apps/this-is-my-app? Show = yes & color = red

Hier in obiger Code Farbe und zeigen sind Abfrageparameter, während Anwendungen ein Teil des Pfadnamen ist

+0

Es funktionierte dank –

+0

@TevinThuku: Cheers !!! –

+0

Ich würde sagen, das ist eine mehr JS-Lösung eher Meteor basiert. Die beste Vorgehensweise wäre, sie im React-Status über die FlowRouter-API aufzurufen. –

Verwandte Themen