私はリレーに比較的慣れていないので、これは私が犯した簡単な間違いかもしれませんが、すでにしばらく探していましたが、私が抱えている問題に関する情報は見つかりませんでした.
これは、アプリケーションから得られるエラーです。
キャッチされないエラー: 不変違反: GraphQLFragmentPointer:
story
クエリの引数の値Route
は文字列である必要がありますが、に設定されていました10
。値が文字列であることを確認してください。
問題は、実際には文字列にしたいの10
ですが、文字列にしたくないということです。設定が間違っていませんか?
これは私のGraphQLスキーマです:
var queryType = new GraphQLObjectType({
name: 'Query',
fields: () => ({
node: nodeField,
story: {
type: storyType,
args: {
storyID: {
description: 'Story ID',
type: GraphQLInt
}
},
resolve: (root, {storyID}) => {
if (storyID) {
return Story.get(storyID)
} else {
return Story.get(10)
}
}
},
}),
});
これは私が定義したリレー ルートです。
export default class extends Relay.Route {
static queries = {
story: () => Relay.QL`
query {
story(storyID: $storyID)
}
`,
};
static paramDefinitions = {
storyID: {
required: false
},
};
static routeName = 'StoryRoute';
};
そして、これが私がそれをインスタンス化する方法です:
let route = new Route({storyID: 10})