問題タブ [relaymodern]
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.
javascript - リレーロードにフィルター引数を渡す方法もっと見る
Relayモダンとページネーションコンテナとの接続をフィルタリングしてページネーションしようとしています。これは問題なく動作しますが、フィルタされた接続で loadMore() がトリガーされた場合、フィルタは送信されません。
これは、フィルタ引数を使用して接続を再取得する、React コンポーネントの送信検索フォーム コードです。
コンテナはリロード時にフィルタリングされるため、これは正常に機能します。
今、もっとロードすると
一致するパラメーターはアクティブではなくなり、完全なリストが再び表示されます。
ページネーション コンテナーで、一致する値を含むように getVariables() を設定します。ここでは、console.log(fragmentVariables.matching) に適切な値が含まれています。
ただし、新しい接続はフィルタリングされません。
問題は_loadMore()呼び出し、正確にはrelay.loadMore()にあると思われます
または @connection ディレクティブで、filters キーをサポートする必要があります (filters: [$matchstring] を試してみましたが、うまくいきませんでした)。
どうすればこれを機能させることができますか?時間を割いていただきありがとうございます。
javascript - Relay QueryRenderer fragmentContainer は、ID の競合のため、サーバーの応答とは異なる props を渡しました
基本的に、私はこの奇妙な問題を抱えています:
- から行われたgraphqlリクエスト
QueryRenderer
- サーバーから返された応答にはデータが含まれています (開発ツールの [ネットワーク] タブから検査)
props
QueryRenderer
render({ error, props })
関数に取り込まれた- 値をレンダリング
props
する子コンポーネントに渡されるgetcreateFragmentContainer
- 1 つのフィールドのレンダリングされた値が応答とは異なる
独自のストアからデータを検索しているときにリレーが何をしているのかわかりませんがid
、型の宣言が欠落しているためだと思われます。コード例を次に示します。
App.js
スコアボード.js
マッチ.js
サーバーからのサンプル応答matches
:
レンダリングされた値:
したがって、すべてのSTG
値が 42 にオーバーライドされますが、そうであってはなりません。
この問題は、応答が配列でid
あるタイプにないために発生するのでしょうか? リレーが同じIDMatch
を探しているのはそのためですか?Team
routing - Relay modern + GraphQL + found-relay - 子がフラグメントを取得する前の変換
Table コンポーネントがフラグメントTable_tableを受け取る単純なルーティングを構築したいと考えています。
ルーティング.js
Table.js コンテナー
しかし、コンポーネントでテーブルプロップを受け取る代わりに、ストアを受け取っています (テーブル プロップは null です)。また、クエリ内の特定のフィールドの代わりに...Table_tabletable
を設定すると、"Expected prop to be supply to Relay(Table)
, but got undefined
" というエラーが表示されます。
javascript - リレー モダン コードのリレー コンパイル時に変数がスコープ内にないというエラーが発生する
次の単純な Relay Modern コードがあります。
実行する前にコードをリレー コンパイルしようとしていますが、次のエラーが発生します。
ドキュメントに記載されているセクションでcompanyId
定義されているため、変数がスコープ内にない理由がわかりません。variables
QueryRenderer
id (例) に固定値を使用すると、node id: "Company:59b2cda12504b914cc398100"
コードがリレー コンパイルされ、データを正常に取得できます。ID を動的に選択する必要がある場合に問題が発生します。