問題タブ [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.

0 投票する
0 に答える
283 参照

reactjs - Relay Modern refetch が新しいデータを渡さない

私は Relay Modern にまったく慣れていないので、ここで何か間違ったことをしている可能性があります。また、これをどのように行うべきかについてのドキュメントを見つけるのに苦労しています。

次の構造を持つ React に組み込まれた仮想ディレクトリ構造ビューを表示するアプリがあります。

ビューが読み込まれると、 で指定された GraphQL クエリQueryRendererが実行され、データがコンポーネントに渡され、ProjectDriveContainer正しくレンダリングされます。このコンポーネントは次のように作成されます。

ディレクトリを変更するメソッドは、さまざまな変数を使用して再フェッチを実行します。ブラウザのネットワーク タブで、このクエリが実行され、正しいデータが返されるのを確認できます。メソッドは新しい props を受け取りますcomponentWillReceivePropsが、これらは古い元の props です。つまり、新しいデータは props 内のオブジェクトを置き換えていません。

私のクエリは次のようになります。

元のクエリ

再取得クエリ:

ここで何が欠けていますか?

0 投票する
1 に答える
509 参照

reactjs - createRefetchContainer を使用して変数を更新する方法は?

React RelaycreatePaginationContainerはオフセットベースのページネーションをサポートしていないため、次善の策は、createRefetchContainer.

Relay Modern のドキュメントhttps://facebook.github.io/relay/docs/refetch-container.htmlで提供されている例では、実装されると 1 回だけ前方にページ分割されますが、これは、デフォルトの状態からのオフセットで遷移しているためです。 0 を 0 + 10 の新しい状態にします。値が保存されていないため、後続のクリック イベントは同じ結果を生成します。

オフセット値が増加し続けると予想していましたが、再取得のたびに状態が維持されているようには見えません。

これに対処したと思われるリポジトリでこの問題に遭遇しましたhttps://github.com/facebook/relay/issues/1695。この場合、ドキュメントは更新されていません。

0 投票する
2 に答える
606 参照

reactjs - カスタム props を QueryRenderer レンダリング関数に渡す方法は?

次の QueryRenderer コンポーネントがあるとします。

私が抱えている問題はrenderProjectList、自分のselectedProject小道具が値を変更したときに再度実行されないことです。メソッドはrender明らかにトリガーされますが、いずれの小道具もQueryRenderer変更されrenderProjectListていないため、どちらも呼び出されません。

これを処理するための最良のアプローチは何ですか?