いくつかのリアクションコードをRailsのコンテキストでどのように構造化するかを考えようとしています。モデルの単一インスタンスと複数インスタンスを編集するためにReactアプリケーションを慣用的に構造化する方法
ここに私の状況に類似したものがあります。私のWebアプリケーションにはグラフモデルがあります。さまざまなメトリックのグラフをカスタマイズすることができます。グラフを編集できるGraphEditorというReactコンポーネントとグラフを表示するGraphViewerというコンポーネントを作った。 GraphEditorはグラフのトップレベルの状態を維持し、グラフをシリアル化してバックエンドに送信するロジックを持っています。 GraphEditorは、グラフのトップレベルの状態を保存するだけでなく、軽く高価な束の結果も保存します。
時々、グラフのグループを扱うことができるようにしたいと思います。たとえば、ある特定のユーザーがすべてのグラフを持っています。これらのグラフを作成、破棄、表示、および編集できる必要があります。私はこれをどのようにするべきですか?
私の最初の考えは、グラフのリストを取得し、ユーザーが現在どのグラフを見ているかを示す状態を維持するMultiGraphAppコンポーネントを構築することでした。次に、そのグラフのGraphEditorまたはGraphViewerをレンダリングします。これは私のアプリケーションのこれらの子コンポーネントが多くの内部状態を持っているので、私は不快になります。
また、私のMultiGraphAppにすべてのグラフの状態を保存させて、GraphEditorコンポーネントを書き直してグラフを保存するときにコールバックを渡すこともできます。これは理にかなっていますが、今は、MultiGraphAppでラップされていないGraphEditorを作成できないことを意味します。GraphEditorを単独で使用したいので迷惑です。
もう1つの解決策は、これを単一ページのアプリケーションにすることを諦めて、あきらめて、グラフを作成したり切り替えたりするだけです。このモデルでは、グラフを切り替えるのはリンクをたどるようなものです。
どれが最も反応慣性ですか?