プロジェクトでreact-router-relayを使用しています。すべてのコンポーネントが基本的にルート クエリと同じ名前のフラグメントで終わることを考えると、この設計は私には不適切に思えます。各コンポーネントは、ルート クエリの下に任意のタイプの一意の名前のフラグメントを持つことができるべきではありませんか? このパッケージを使用してこれは可能ですか、それとも私の考えに欠陥がありますか?
編集:おそらく私の質問は少し曖昧でした。私の問題は、react-router-relay によって定義された query 属性に基本的に 2 つのルールがあり、奇妙なデザイン パターンと思われるものを強制することです。これらの 2 つのルールは次のとおりです。
- 各クエリは「1 レベル」の深さまでしか進められません。
- 各クエリは、それを使用するコンポーネントで同じ名前のフラグメントにマップする必要があります。
これにより、次のいずれかのシナリオが残ります。
- すべてのコンポーネントに同じ「ビューア」クエリを使用し、各コンポーネントで補完的な「ビューア」フラグメントを定義します。これらのフラグメントは、同じ名前を持っているにもかかわらず、すべて異なるデータ要件を定義するため、非常に紛らわしいようです。
- さまざまなコンポーネントに一意のフラグメント名を作成し、フェッチするデータの種類に応じて異なる名前でまったく同じルート クエリを繰り返しますが、これはまったくばかげているように思えます。