2016-09-15 46 views
1

我正在使用react-router和react-router-relay来处理我的应用中的路由。我在尝试访问在url路径中传递的id参数时遇到问题。什么是正确的方法来做到这一点?访问url参数以在使用react-router-relay的查询中使用

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')} 
     } 
    } 
    ` 
}; 

回答

1

它应该是如此简单:

import Relay from 'react-relay'; 

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

您可以然后通过你的组件的this.props访问id