我的部分路线是这样设置的:
<Route path=":widgetId" component={Widget} queries={{
viewer: () => Relay.QL`query { viewer }`,
widget: () => Relay.QL`query { widget(widgetId: $widgetId) }`
}}>
<Route
path="details"
component={Details}
queries={{ widget: () => Relay.QL`query { widget(widgetId: $widgetId) }` }}
/>
</Route>
但是,我收到以下错误:
Error: Invariant Violation: Relay(Details).getFragment(): `viewer` is not a valid fragment name. Available fragments names: `widget``.
路由查询是否:widgetId
有效?如果我从顶级路由中删除查看器,一切正常。
编辑:这是详细信息片段:
export default Relay.createContainer(Details, {
fragments: {
widget: () => Relay.QL`
fragment on Widget {
id,
}
`
}
});
编辑:这里是小部件片段:
export default Relay.createContainer(Details, {
fragments: {
widget: () => Relay.QL`
fragment on Widget {
id,
}
`
viewer: () => Relay.QL`
fragment on Viewer {
id,
}
`
}
});
注意:我使用的是同构中继路由器