3

親ノードを持たないリレーでノードを作成および削除する方法を見つけようとしています。NODE_DELETE/ RANGE_DELETEand RANGE_ADDall には親ノードが必要なようです。Relay.js のルート クエリ オブジェクトからミューテーションの作成と削除を実行する方法はありますか?

注: FIELDS_CHANGE クエリを使用して作成を実行できる例を見つけましたが、ドキュメントや理由がありません。

4

2 に答える 2

3

REQUIRED_CHILDRENこの目的のために使用できるはずです。現在十分に文書化されておらず (文書化さえされていません)、やや紛らわしい名前が付いています (そのため、名前を変更して文書を改善する必要があります) EXTRA_FRAGMENT将来的に改名される可能性が高い。

通常、ミューテーションを発行すると、「ファット クエリ」(ミューテーションの結果として変更される可能性のあるすべてのフィールド) と「追跡されたクエリ」(アプリがノードに要求したすべてのフィールド) の間の交差が実行されます。これまでのところ、変更されたときに更新する必要があります)、このクエリをミューテーションと共にサーバーに送信します。

したがって、親を持たないまったく新しいノードを作成するユースケースでは、 のようidに識別フィールドを指定しREQUIRED_CHILDREN、それを使用して、たとえば、新しく作成されたオブジェクトを表示するビューに移動できます。この回答には、これを行う方法の非常に詳細な例があります。

于 2015-10-27T11:46:15.413 に答える