2016-09-15 350 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