2014-10-14 16 views
5

ho questi due percorsi definiti:Posso avere lo stesso gestore percorso per due percorsi

<Route name='register' handler={Register} > 
    <Route name='registerpromotion' path='/registerpromotion/:promotionCode' handler={Register}/> 
</Route> 

Così entrambe le vie utilizzano lo stesso gestore chiamato Registrati.

Nel caso del registerpromotion percorso, passo in una proprietà e nel caso del registro percorso, non lo faccio.

Non ho potuto farlo funzionare: la proprietà promotionCode è sempre indefinita.

Qualcuno sa se è possibile utilizzare lo stesso gestore per due percorsi?

Grazie mille!

+0

vuoi dire di avere il 'Route's annidati in questo modo? Il modo in cui lo hai, 'Register' avrà un' Register' figlio, ma il componente interno non avrà mai un altro figlio. Sembra una strana installazione che potrebbe essere parte del problema. –

+0

Ho risposto qui: https: //github.com/rackt/react-router/issues/410 – user3350887

risposta

0

Questo codice è da react-router issue #410 da rpflorence:

/** @jsx React.DOM */ 
var React = require('react'); 
var Router = require('react-router'); 
var Route = Router.Route; 
var Routes = Router.Routes; 
var Link = Router.Link; 

var Foo = React.createClass({ 
    render: function() { 
    return (
     <div> 
     <p>hello</p> 
     <p>stuffId: {this.props.params.stuffId}</p> 
     <ul> 
      <li><Link to="root">top</Link></li> 
      <li><Link to="stuff" params={{stuffId: 'one'}}>one</Link></li> 
      <li><Link to="stuff" params={{stuffId: 'two'}}>two</Link></li> 
     </ul> 
     <this.props.activeRouteHandler /> 
     </div> 
    ); 
    } 
}); 

var routes = (
    <Routes> 
    <Route name="root" path="/" handler={Foo}> 
     <Route name="stuff" path=":stuffId" handler={Foo}/> 
    </Route> 
    </Routes> 
); 

React.renderComponent(routes, document.body); 
Problemi correlati