次のように、クエリ変数を名前空間/ネストしたいと思います。
query ($params: {$id: ID!}) {
getUser(id: $params.id) {
email
username
}
}
変数で:
{
"params": {
"id": "42"
}
}
しかし、それは有効なクエリではありません。
ただし、次のようなクエリ:
query ($id: ID!) {
getUser(id: $id) {
email
username
}
}
変数で:
{
"id": "42"
}
うまくいきます。
これを行う理由は、react ルーターからラップされたコンポーネントに適用されるプロップを使用して、クエリ オプションを ApolloReactgraphql
高次コンポーネントに自動的に送信するためです。この質問は、プロップが反応ルーターによってコンポーネントに適用されるparams
という事実を除けば、基本的に反応ルーターとは何の関係もありません。params
ApolloReact はコンポーネントの props を使用して変数オブジェクトを自動的に構築しようとしますが、変数オブジェクトにid
ネストされprops
ているため、見つけることができません。
別の方法は、変数オブジェクトを受け取って返すメソッドをid
定義することにより、検索する場所を具体的に定義することですが、可能であれば避けたいと思います。options
ownProps
graphql