2016-05-19 11 views
3

Как получить Params маршрута внутри реагировать компонент Im использования реакции контейнеров из среагировать композитор пакета , если это весь маршрутМетеор маршрутизатора потока и получение Params маршрута в реакцию компонент

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

Как я могу получить только

wD98XTTtpf8ceyRJT

и сохранять свое значение в переменной внутри среагировать компонента. Ive пытался использовать

FlowRouter.getParam() но он не работает. Я постоянно получаю неопределенными

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> 
) 
} 
} 

это маршрут

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

Что может быть проблема и как решить ее

ответ

3

Чтобы получить только последнюю часть строки:

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

Другая чистая метеорная вещь, которую вы можете попробовать, - от this reference:

FlowRouter.getParam(":_id"); 

ПРИМЕЧАНИЕ: Ваше решение не работает, как вы получаете параметр запроса, параметры запроса являются параметры, которые передаются в URL после «?»

т.е. /приложения/это-это-мое-приложение? Показать = да & цвет = красный

Здесь в выше код цвета и шоу являются параметры запроса, в то время как приложения является частью имени пути

+0

Это сработало спасибо –

+0

@TevinThuku: Привет! –

+0

Я бы сказал, что это скорее решение JS, а скорее метеоритное. Лучшей практикой было бы назвать ее в состоянии React через FlowRouter API. –