メインコンテンツにスキップ

graphQLQueryEffect()

Recoil atomGraphQL クエリ に同期させるための、基盤となる atom effect です。GraphQL クエリ結果に基づいて atom を初期化し、ローカルミューテーションや更新をサブスクライブします。

サーバーから開始される更新をサブスクライブする場合は graphQLSubscriptionEffect() と GraphQL サブスクリプションを代わりに使用することを検討してください。


function graphQLQueryEffect<
TVariables: Variables,
TData: $ReadOnly<{[string]: mixed}>,
T = TData,
TRawResponse = void,
>({
environment: IEnvironment | EnvironmentKey,
query: Query<TVariables, TData, TRawResponse>,
variables: TVariables | null,
mapResponse: TData => T,
}): AtomEffect<T>
  • environment: Relay 環境または EnvironmentKey で、<RecoilRelayEnvironemnt> に提供された環境と一致します。
  • query: クエリする GraphQL クエリ です。フラグメント はクエリでサポートされています。
  • variables: GraphQL クエリへの入力として提供される 変数 オブジェクトです。null の場合は、クエリをスキップして atom の既定値を使用します。
  • mapResponse: クエリレスポンスを atom 値にマップするコールバックです。

const myAtom = atom({
key: 'MyQuery',
effects: [
graphQLQueryEffect({
environment: myEnvironment,
query: graphql`
query MyEventQuery($id: ID!) {
myevent(id: $id) {
id
name
}
}
`,
variables: {id: 123},
}),
],
});