私は、本当にどのくらいの国が実際に店舗に属していて、コンポーネントに入っていないのだろうと思いましたか?私はいくつかの場所で実際にすべての州が店内に住んでいなければならないことを読んだ。実際に店舗にはどのくらいの国が属していますか?
入力値(送信前)、入力検証、モーダルが開いている場合、何かがクリックされた場合など、本当にコンポーネント固有のものが含まれますか?
ここでベストプラクティスは何ですか?
私は、本当にどのくらいの国が実際に店舗に属していて、コンポーネントに入っていないのだろうと思いましたか?私はいくつかの場所で実際にすべての州が店内に住んでいなければならないことを読んだ。実際に店舗にはどのくらいの国が属していますか?
入力値(送信前)、入力検証、モーダルが開いている場合、何かがクリックされた場合など、本当にコンポーネント固有のものが含まれますか?
ここでベストプラクティスは何ですか?
フラックス店舗にすべてを維持するには、一部アプリをbenefitialかもしれません。
まず、あなたのアプリがこのようなものかどうかを判断しようとする必要があります。
しかし、もちろん、それはコンポーネントといないときに内部の状態を維持するときに言って、特定のガイドのいくつかの種類、多分ちょうど精神的なガイドを持っていてうれしいです。
私はこれらのガイドと一緒に行きたい:
- を純粋にUI関連のこの状態ですか?それからあなたはたぶんそれを店内に保管する必要はありません。
- この状態は、コンポーネント外にあるですか?そうでない場合は、店に入れないでください。それはコンポーネントの内部に問題ありません。
- この状態をURLに保持できますか?もしそうなら、店に入れないでください。それをURLに入れてください!これは、入力または現在開いているタブの検索クエリである可能性があります。
は、これらのすべての例外があるかもしれませんが、一般的に、私は、これは、フラックスアプリの独創的なアイデアにも対応するようにと考えています。
P.S.また、すべてのあなたのUIを不変の状態ツリーの中に残すべきであると言っていることについて、たくさんの話があります。これは、還元が多くの人々に導入される方法です。これは素晴らしいコンセプトで、ユーザーの操作を保存/再生することができますが、多くの場合、は不要です。とFluxの主なアイデアではありません。そしてredux自体はでない大きなフラックスツールですは、すべてのUI状態をストアに保存するよう強制します。
コンポーネントに固有のビューステートは、そのコンポーネントに属します。多くのコンポーネントに関係するApp状態は店舗に属します。
議論の余地があります。 たとえば、reduxは、ALL状態がストアに属するパターンを提案します。個人的には、多くの状況では実用的ではないと思います。店舗内のボタンの状態を保存する理由がある場合は非常にまれです。 しかし、それは有利なこともあります。あなたのアプリ全体がステートレスなときにテストすることは間違いなく簡単です。
明らかな答え:
コンポーネントの状態の中で、コンポーネント固有の状態(入力値、モーダルオープン/クローズ、スタッフクリック、レイアウト、フォーマット)を可能な限り保持します。
店内にアプリの特定の状態があります。これには、サーバーとの間でやりとりするものが含まれますが、これに限定されません。
、灰色の領域の多くがここにあります:
いくつかのルールは私が使用します。それはコンポーネントと同じライフサイクルを持っている場合
私はこれらがあなたが指摘した素晴らしいルールだと思います。私は、「すべての場合ではないが、アプリケーションを閉じて再オープンするときに記憶される必要がある」という状態をURLに保持することができ、時にはlocalStorageではなく、そのままにすることも可能な場合があることを付け加えます。 – timetowonder
良い点。しかし、そのデータがURLにある場合、厳密に言えば、データは状態ではなく、何らかの形で反応ツリーに小道具として渡されなければなりません。厳密に言えば、データはアプリケーションによって/に記憶されませんが、URLに保存されなければなりません。 – wintvelt
正直言って、私はそのパターンが流出しているのを好まない。以前はフラックスを使用していましたが、私は店舗の状態に深く関わっていませんでした。私がしたことは、サーバー/アクションから必要とされたデータを提供するためにフラックスを使用して、データを提供することでした。ストアにそのデータがある場合、ストアデータに基づいて状態を設定できます。しかし、入力値、アクティブなクラスのトグル状態ビュー、オープンまたはクローズドモーダルなどの些細なことは、コンポーネントを管理させ、アクションを実行する必要はありません。それはトンをより意味があり、良いパターンです –