LoginSignup
2
2

More than 5 years have passed since last update.

Apollo Client 2.5 の Local state management をソースコードを拝借して体感してみた in Vue

Posted at

1. ゼロから書けない書かないオレはソースコードを入手

  • Apollo Client 2.5 以前のアプリを探し、気に入った Todo アプリの下記ソースコードをダウンロードさせていただきました。
  • このソースコードは、 apollo-boost を利用しているので、下記のような状態らしい。
    • なので、そもそも、Apollo Client 2.5 対応とか言って書き換える必要がない!のかもしれない。

Apollo Boostを使っているのなら、何も変更する必要はありません。 Apollo Boostは、Apollo Clientの統合されたローカル状態処理を使用するように更新されました。つまり、apollo-link-stateは使用されなくなりました。舞台裏では、Apollo BoostのclientStateコンストラクタパラメータは、必要なローカル状態の初期化を直接Apollo Clientに送ります。
引用: Migrating from apollo-link-state by Google 翻訳

2. ESLint がうるさかったので無慈悲に削除

image.png

3. Apollo Boost を削除

  • Apollo Boost がいい感じにやってくれてしまっているらしいので削除する。
  • 各ファイルで import { gql } from "apollo-boost"import gql from "graphql-tag" に置き換えた。
  • 下記を実行。(たしか。。)
npm uninstall --save apollo-boost

4. 必要なライブラリをインストール

  • たしかこんな感じ。
npm install --save apollo-cache-inmemory apollo-client graphql-tag

5. 修正

  • 大きく書き換えるのは、 src/main.js 。詳細は ココ を参照。

image.png

6. エヌ・ピー・エム・ランデブー (実行)

npm run dev

7. まとめ

image.png

  • 自身のメモなので、端折っているところもある。
  • こいつで、Cache の中を見てみる。

image.png

image.png

image.png

  • 実行するだけなら
git clone https://github.com/high-u/local-state-with-apollo-in-vue.git
cd local-state-with-apollo-in-vue
npm install
npm run dev

以上

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2