2016-12-19 4 views
2

RelayとReduxの代替品はありますか?彼らはいつ使うのがベストですか? ReduxでRelay、GraphQLを使用できますか?Relay(GraphQL)とReduxの違いは?

+2

Reduxはローカルアプリケーションの状態を管理するためのパターンです。私の理解のリレーは、サーバーからのデータオンデマンドでデータを照会するのに役立ちます。リレーは、特定のデータセットのキャッシュにも役立ちます。 – Hoetmaaiers

+0

私はリレーを使用しようとしました。これは非常に優れたツールで、高度に最適化されていますが、リレーの問題はdocs&communityです。決してバグ修正を終わらせることができません。一方、還元は非常にうまく説明されています。 ReduxでApollo Clientを使用してください。これは、Realy 2と完璧なドキュメントがオンラインになるまで、GraphQLで最も簡単なソリューションです。 – jero2rome

答えて

9

REDUX:

  1. ReduxのはReduxの
  2. ライブラリでアプリの状態コンテナ
  3. そのあなたのアプリに関連するすべての情報が格納されている単一の点光源です。
  4. アクションのディスパッチによって、アクション、レデューサーを作成し、状態を更新します。
  5. 状態は不変で、更新できません。常に複製された状態のバージョンが返されます。
  6. apxを呼び出すには、redux-thunk/redux-sagaのようなパッケージを使用します。 APIの応答で状態を更新します。

reduxに表示される場合は、定型コードが多数あります。

私は個人的にReduxの本当にクールで便利見つけていますが、次の世話をする必要があります: -

  1. をアクション/減速/ストアを作成します。
  2. アクションのディスパッチとストアの更新。
  3. APIコールの処理。
  4. キャッシングを実装します。
  5. ストアの保守。
  6. コンポーネントで予想される小道具を維持する。

RELAY:

  1. リレーはJavascriptフレームワークです。
  2. あなたのためのストアを扱います。
  3. APIコールを処理します(これが最良の機能です)。
  4. ストアは不変で、クローンバージョンが返されます。
  5. GraphQLで動作します(この部分は、graphqlも理解する必要があるため、少し面倒です)。これに取り組んだ後、私はこれが一つの大きな欠点であることに気付きました。しかし、あなたが理解すればすることは

リレーは本当に強力で、次のような利点を提供し、クエリと変異にその本当に強力

  • 作品をgraphql: -

    1. あなたはAPI呼び出しについて作業する必要がいけません。リレーネットワーク層がそれを処理します。クエリと突然変異を指定することでそれを実現します。
    2. リレーの最高の機能の1つは、キャッシュの実装です。それはapi呼び出しを大幅に減らします。

    リレーは本当に強力ですが、開始すると少しオーバーヘッドがあります。以下は、前提条件は次のとおりです。 -

    1. が反応
    2. Graphql
    3. ES2015 JS

    前提条件でもリレーが実際にどのように機能するかを理解することで行われるとは少しトリッキーと同じように簡単ではありません還元する。しかし、それがどのように機能し、なぜそれが絵にもたらされたのかを理解すれば、本当に驚くでしょう。その本当に強力なツールです。

    あなたのプロジェクトが小規模である場合は、私は大型の中継機であればreduxと一緒に行くと言います。しかし、あなたが反応ネイティブに取り組んでいる場合は、リレーを試してみてください、その本当に面白い。

    また、リレーでreduxを使用することもできます。

  • +0

    気高い...すてきな説明!!! – Chathuranga94

    +0

    ニースの答え! "はい、リレーでレフィックスを使うことができます。" - あなたは少し詳しく教えてもらえますか? –

    +0

    私は実際にこれを質問に入れましたが、削除されたと思います。とにかく、これはあなたを助けるかもしれないhttps://github.com/barbuza/react-redux-relay –

    関連する問題