Graphql-react-integration
GraphQL-React統合
Reactは、ユーザーインターフェイスを構築するためのJavaScriptライブラリです。 この章では、GraphQLをReactアプリケーションと統合する方法について説明します。
図
Reactプロジェクトをセットアップする最も簡単な方法は、Create React App toolを使用することです。 以降のセクションでは、サーバーとクライアントの両方をセットアップする方法を学習します。
サーバーのセットアップ
サーバーを設定するには、以下の手順に従ってください-
ステップ1-プロジェクトに必要な依存関係をダウンロードしてインストールする
ステップ2-スキーマを作成する
プロジェクトフォルダーに schema.graphql ファイルを追加し、 react-server-app に次のコードを追加します-
このファイルでは、「greeting」と「sayHello」という2つのクエリが定義されています。 saysayelloクエリは、文字列パラメーターを受け取り、別の文字列を返します。 saysayello()関数のパラメーターがnullではありません。
ステップ3-リゾルバーを作成する
プロジェクトフォルダにファイル resolvers.js を作成し、次のコードを追加します-
ここでの挨拶と挨拶は2人のリゾルバです。 sayHello resolverでは、nameパラメーターに渡された値はargsを介してアクセスできます。 モジュール外のリゾルバー関数にアクセスするには、module.exportsを使用してQueryオブジェクトをエクスポートする必要があります。
ステップ4-アプリケーションを実行する
server.jsファイルを作成します。 環境設定の章の手順8を参照してください。 ターミナルでコマンド_npm start_を実行します。 サーバーは9000ポートで稼働します。 ここでは、GraphiQLをクライアントとして使用して、アプリケーションをテストします。
ブラウザを開き、URL http://localhost:9000/graphiql を入力します。 エディタで次のクエリを入力します-
サーバーからの応答は以下のとおりです-
クライアントのセットアップ
クライアント用の新しいターミナルを開きます。 サーバーアプリケーションは、クライアントアプリケーションを実行する前に実行し続ける必要があります。 Reactアプリケーションはポート番号3000で実行され、サーバーアプリケーションはポート番号9000で実行されます。
ステップ1-Reactプロジェクトhello-world-clientを作成する
クライアント端末で、次のコマンドを入力します-
これにより、典型的なリアクションアプリケーションに必要なすべてがインストールされます。 npx ユーティリティと create-react-app ツールは、hello-world-clientという名前のプロジェクトを作成します。 インストールが完了したら、VSCodeでプロジェクトを開きます。
ステップ2-hello-world-clientを開始します
ターミナルの現在のフォルダーパスをhello-world-clientに変更します。 npm startと入力して、プロジェクトを起動します。 これにより、ポート3000で開発サーバーが実行され、ブラウザーが自動的に開き、インデックスページが読み込まれます。
これは、以下のスクリーンショットに示されています-
ステップ3-アプリコンポーネントの変更
srcフォルダー内のApp.jsで、グリーティングをロードする関数とsayHelloメッセージをロードする関数の2つの関数を追加します。
以下は、挨拶のためにGraphQLクエリを送信する「loadGreeting」関数です。
以下は、sayHelloのGraphQLクエリを送信する loadSayhello 関数です-
完全な App.js ファイルを以下に示します-
両方のアプリケーションが実行されたら、「挨拶」ボタンをクリックします。 次に、テキストボックスに名前を入力し、sayHelloボタンをクリックします。 出力は以下のようになります-