私のルートの一部は次のように設定されています:
<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,
}
`
}
});
注: isomorphic-relay-router を使用しています