2016-09-15 4 views
1

J'utilise rea-router et react-router-relay pour gérer le routage sur mon application. J'ai un problème en essayant d'accéder au paramètre id qui est passé dans le chemin de l'URL. Quelle est la bonne façon de faire cela?Accéder à un paramètre d'URL à utiliser dans une requête utilisant le routeur-routeur-de-réaction

routes.js

import CreativeQuery from './CreativeQuery'; 

<Route path='/creative' component={CreativeComponent} queries={ViewerQuery}> 
<Route path="/creative/edit/:id" component={CreativeEditComponent} queries={CreativeQuery}/> 

CreativeQuery.js

import Relay from 'react-relay'; 

export default { 
    creative: (Component) => Relay.QL` 
    query { 
     creative(id:$id) { #<--- id from the url param 
     ${Component.getFragment('creative')} 
     } 
    } 
    ` 
}; 

Répondre

1

Il devrait être aussi simple que cela:

import Relay from 'react-relay'; 

export default { 
    creative:() => Relay.QL`query { creative(id: $id) }` 
}; 

Vous pouvez alors accéder au id via this.props de votre composant .