graphQLSubscriptionEffect()
基盤のアトム効果は Recoil アトム とGraphQL サブスクリプションを同期します。GraphQL サブスクリプションの結果に基づいてアトムを初期化し、サーバーからの更新をサブスクライブします。
function graphQLSubscriptionEffect<
TVariables: Variables,
TData: $ReadOnly<{[string]: mixed}>,
T = TData,
TRawResponse = void,
>({
environment: IEnvironment | EnvironmentKey,
subscription: GraphQLSubscription<TVariables, TData, TRawResponse>,
variables: TVariables | null,
mapResponse: TData => T,
}): AtomEffect<T>
environment
: Relay 環境またはEnvironmentKey
で 変数 オブジェクトが GraphQL クエリへの入力として提供されました。null
の場合、クエリはスキップし、デフォルトのアトム値を使用します。mapResponse
: クエリ応答をアトム値にマッピングするコールバック
const myAtom = atom({
key: 'MyQuery',
effects: [
graphQLSubscriptionEffect({
environment: myEnvironment,
query: graphql`
subscription MyEventSubscription($id: ID!) {
myevent(id: $id) {
id
name
}
}
`,
variables: {id: 123},
}),
],
});