我的部分路线是这样设置的:
<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,
}
`
}
});编辑:以下是Widget片段:
export default Relay.createContainer(Details, {
fragments: {
widget: () => Relay.QL`
fragment on Widget {
id,
}
`
viewer: () => Relay.QL`
fragment on Viewer {
id,
}
`
}
});注意:我使用的是同构中继路由器
发布于 2016-06-08 20:00:03
看起来您需要向您的Widget类添加一个查看器片段,即:
export default Relay.createContainer(Widget, {
fragments: {
widget: () => Relay.QL`
fragment on Widget {
id,
}
`,
viewer: () => Relay.QL`
fragment on ObjectType {
fields
}
`
}
});https://stackoverflow.com/questions/37662913
复制相似问题