2015-08-02 5 views
3

Имея следующий React маршрутизаторРеагировать параметры передачи маршрутизатора. Как?

const AppRoutes = (
    <Route path="/" handler={Properties}> 
    <DefaultRoute handler={PropertyList} /> 
    <Route path="property/:propId" handler={PropertyDetail}/> 
    <NotFoundRoute handler={NotFound} /> 
    </Route>); 

Router.run(AppRoutes, Router.HashLocation, (Root) => { 
    React.render(<Root />, document.getElementById('filter-content')); 
}); 

Я пытаюсь построить динамические ссылки внутри детского компонента, и здесь я имею испытание

<Link to="/property/" params={{ propId: "123"}} ><img src={this.props.data.picture} 
         data-srcset="http://placehold.it/350x150" alt="" className="lazyload auto-height" 
           data-sizes="auto"/> 
        </Link> 

, но нажав на ссылку propId не получает прошло, что я делаю неправильно?

ответ

7

Для того, чтобы работать, вы должны использовать название маршрута в к свойству Ссылки компонента, в противном случае маршрутизатор не может знать, какой маршрут вы имеете в виду определение и, следовательно, что делать с propId параметр.

Во-первых, определить имя для маршрута

<Route name="property" path="property/:propId" handler={PropertyDetail}/> 

, а затем использовать имя при создании ссылки:

<Link to="/property/:propId" params={{ propId: "123"}} > 
+1

Я считаю, что названные маршруты были удалены с 1.0+. –

+1

Я получаю это с вашим предложением «Предупреждение: Неизвестный prop' params' на теге . Удалите эту опору из элемента. – andrux90210

Смежные вопросы