はじめに
  • 本コースの概要のご説明
概論編
  • はじめに
  • GraphQLとは?
  • RESTがMcDonald's方式だとすれば、GraphQLは何方式になる?
言語仕様編
  • GitHub GraphQL APIを利用する上での準備
  • クエリ(query)、フィールド(Fields)、型(Types)
  • 引数(Arguments)
  • エイリアス(Aliases)
  • フラグメント(Fragments)
  • 操作名(Operation Name)
  • 変数(Variables)
  • ミューテーション(Mutations)
  • インラインフラグメント(Inline Fragments) と型名(__typename)
  • 型システム(Type System)、スカラー型(Scalar Types)、オブジェクト型(Object Types)、そしてスキーマ(Schemas)
  • ページネーション(Pagination)
実践編 - GitHubリポジトリ検索アプリケーションの開発にチャレンジ
  • 本セクションで扱うソースコード
  • デモアプリの説明
  • GitHub Tokenの作成
  • Reactアプリケーションの作成からGitHubリポジトリの作成
  • 必要なnpmパッケージ(apollo-boost、graphql、react-apollo)をインストールする
  • 不要なコードやファイル等を除去する
  • dotenvをセットアップする
  • GraphQLクライアントをセットアップする
  • GraphQLのコードを別のファイルに分離する
  • search queryとVariablesをアプリケーションに適用する
  • 検索フォームを作成し動的に検索を実行できるようにする
  • タイトルを表示する
  • 検索結果一覧をリスト表示する
  • 次ページ(Next)ボタンを実装する
  • 前ページ(Previous)ボタンを実装する
  • starの数を表示する
  • starを付けているかどうかの状態を表示する
  • onClickでstarを付与する
  • onClickでstarを解除する
  • refetchQueriesを利用しstarの総数をstarの付与/解除に同期させる
  • writeQueryを利用しstarの総数を書き換える
  • ReactのrefでonChangeによる過剰なquery送信を回避する