web-dev-qa-db-ja.com

GraphQLとReduxはどのように連携しますか?

ふたりの関係を知りたいです。両方をほとんど状態を管理する方法と見なしており、重複しているように見えるので、私はかなり混乱しています。そこで、どの情報をどこに保存し、どのように機能させるかを見つけるために適用できる概念的な区別を求めています。一緒。何かアドバイス?

13
janus

ビューの状態(検索フィールド、ポップアップ、トグルなど)とデータの状態(リモートAPIなど)を区別する必要があります。 Apolloは主にデータ状態に使用されますが、Redux/MobX/Reactのローカル状態は、Apolloクライアントと組み合わせて使用​​される場合、ビュー状態に使用されます。 Apolloクライアントで使用しない場合、これらのソリューションはリモートデータの状態にも使用できます。ただし、Apolloクライアントは、ローカルのビューステートにも使用できるapollo-link-stateを導入しました。

  • アプリケーションが純粋にリモートデータ駆動型で、GraphQLバックエンドを使用している場合、アプリケーションにはApolloクライアントで十分です。

  • アプリケーションにいくつかのビューステートがある場合は、Reactのローカル状態管理を混ぜ合わせます。

  • ビューステートが複数ある場合は、ビューステートにReduxまたはMobXを使用するか、apollo-link-stateを試してください。

多分この記事はいくつかのことをより詳細に明らかにします: Combining Redux and Apollo

14
Robin Wieruch

GraphQLは、エンドポイントに「これが必要なデータである」ことを伝える手段にすぎません。 Reduxはそのデータを保存する方法です。概念的には、それらは完全に独立しています。

ただし、それらを統合することについては、 Apollo を使用して成功しました(Reduxを削除し、独自のストアを展開する前)。まず始めに this の記事をご覧になり、次にApolloがどこから進んだかを確認してください。

5
Adam Barnes