使用 react-router-relay 访问要在查询中使用的 url 参数
Posted
技术标签:
【中文标题】使用 react-router-relay 访问要在查询中使用的 url 参数【英文标题】:Accessing a url parameter to use in a query using react-router-relay 【发布时间】:2017-01-23 18:42:26 【问题描述】:我正在使用 react-router 和 react-router-relay 来处理我的应用程序上的路由。我在尝试访问在 url 路径中传递的 id 参数时遇到问题。这样做的正确方法是什么?
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
。
【讨论】:
以上是关于使用 react-router-relay 访问要在查询中使用的 url 参数的主要内容,如果未能解决你的问题,请参考以下文章
使用具有不同片段字段的相同中继根查询的多个 react-router-relay 路由
使用 react-router-relay 和 react-rails 进行服务器端渲染
react-router-relay 是不是与 Relay 模式不一致?