web-dev-qa-db-ja.com

Apollo GraphQL:1つのコンポーネントに複数のクエリがありますか?

2つの完全に別個のテーブルをクエリする必要があるコンポーネントがあります。この場合、スキーマ、クエリ、およびリゾルバーはどのように見える必要がありますか?私はグーグルで検索しましたが、まだ例を見つけていません。情報を事前に感謝します。

PDATE: Slackでは、この目的でcomposeを使用する方法があるかもしれません。例:

export default compose(
  graphql(query1, 
  ....),
  graphql(query2, 
  ....),
  graphql(query3, 
  ....),
  withApollo
)(PrintListEditPage)

このような複数の宣言を行う方法はありますか?

const withMutations = graphql(updateName, {
  props({ mutate }) {
    return {
      updatePrintListName({ printListId, name }) {
        return mutate({
          variables: { printListId, name },
        });
      },
    };
  },
});

... export default composeへの呼び出しの前に来る?

7
VikR

graphql関数は、渡されたプロパティ名のエイリアスを作成できるオプションの2番目の引数を取ります。複数のミューテーションがある場合は、nameプロパティを使用して、必要に応じてmutateの名前を変更できます。

import { graphql, compose } from 'react-apollo'

export default compose(
  graphql(mutation1, { name: 'createSomething' }),
  graphql(mutation2, { name: 'deleteSomething' }),
)(Component)

詳細については、 完全なAPI を参照してください。

19
Daniel R.