問題タブ [relay]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
strongloop - ループバックで Relay/GraphQL を使用するには?
ループバックで Relay/GraphQL を使用する実用的なソリューションはありますか? 私が考えているいくつかのことは、データベースにアクセスする方法(ORMを通過することは不可能だと想定しているため)と、Relay/GraphQLを使用するときにAPIジェネレーターを活用する方法です...
navigation - react-native-router-flux を Relay と統合するにはどうすればよいですか
すべてのルートを RootContainer または Relay でラップする必要がありますか? それとも、Relay を使用するシーンのみをラップする必要がありますか?
reactjs - クライアント ストア全体のリレー強制フェッチ
アプリに通知システムがあり、新しい通知が来たときにデータを取得したい。私が使う
RelayStore.forceFetch({statusRequest: Relay.QL`{query { viewer { list { edges ...}}}`})
ノードにはIDがあるため、ノードには機能しますが、既存の接続には機能しません。ドキュメントでは、それは言う
forceFetch can be called with an empty set of partial variables, meaning it can trigger a refresh of the currently rendered set of data.
部分変数のセットとして空の配列を持つ接続のみをフェッチしようとしています。何もしませんでした。ネットワークタブにサーバーへのリクエストが表示され、応答にデータが正しくフェッチされたことが表示されます。しかし、それに応じて私は見list: ...
ます。既存の接続ではなく、新しい接続をフェッチします。何か案は?ありがとうございました。
webpack - リレーを使用するアプリの Webpack コード分割
サンプル github リポジトリ(特定のコミット)
私は反応/リレーに飛び込んでおり、開発と本番を開始するためのセットアップが整っていることを確認したいと考えています。大規模なアプリケーションがあるため、コード分割は必須です。
私は JSX ベースreact-router
のルート宣言を好むので、 Evan Henleyの React Router と Webpackを使用したImplicit Code Splitting と Chunk Loading に遭遇できてうれしかったです。
正規表現と ES6 を少し調整することで、彼の方法を機能させることができました。repo のクローンを作成npm install && npm start
すると、さまざまなチャンクに移動できるようになります (todo を除く)。
^^^これはすべて、アプリの非リレー部分で機能します-良いことです.
問題
次に... Todos (リレーベース) に移動します。
私たちの制作アプリはリレーに完全に依存します。
Relay は、 などのクラスへのいくつかの静的呼び出しに依存しますgetFragment
。この場合、webpack は別の共有チャンクにプッシュTodoListFooter
されているため、. 対照的に、同じ行で壊れ、同じチャンクにあるため、同様の呼び出しは正常に機能します。TodoListFooter2
getFragment
_AddTodoMutation2
_AddTodoMutation2.default.getFragment('viewer')
考えられる解決策
- 名前付きチャンクを使用しますか? このコミットはそうしようとしましたが、それでも一部のコードを共有チャンクにプッシュしました (同じエラーで失敗しました)。
- 静的メソッドと互換性のあるリレーである別のコード分割方法?
- 私が考えていない何か?
graphql - Relayでネットワーク層を動的に変更する方法
以下のように、ブートストラップ時にリレーがネットワーク層を挿入できることを知っています。
しかし、後で (サインインした後などに) ヘッダーが何であるかを伝える必要がある場合はどうですか?
javascript - 突然変異時のGraphQL検証エラー
Relay Todo の例から変更されたコードを使用してミューテーションを設定しようとしています。
コンパイルしようとすると、次のエラーが発生します。
Todo コードを複製したので、なぜ Todo ミューテーションが正しく機能しているのかわかりませんが、新しい Campaign テストは正しく機能しません。
これは私の database.js ファイルです。ドキュメントを読みやすくするために、Todo 関連の項目を削除しました。
これは私の schema.js ファイルです。ここでも、ドキュメントを読みやすくするために Todo 関連の項目を削除しています。
これは私の AddCampaignMutation.js ファイルです:
最後に、これはテキスト入力と AddCampaignMutation の呼び出しを含むアプリ ファイルです。