私はフラックスの実装で反応するアプリケーションに取り組んでいます。反応/フラックスアプリケーションの状態へのアクセスと設定
コンポーネントにバインドされたストアがあります。ctor
デフォルトの(空白の)状態値を設定しました。 componentWillMount
私は、ストアデータを更新するいくつかのアクションを実行して状態を移入します。 ストアは変更を発行し、コンポーネントはストアデータのビットをステートにすることによって変更を処理します。
私のrender
メソッドでは、レンダリングを状態データに依存させたいと思っています。
現在のところ私にはいくつかの問題があります。
私
render
方法で私はthis.state.MyThing.APropertyような何かをした場合MyThingがまだ読み込まれていない場合、その後renderメソッドは早すぎると呼ばれています。これは、レンダリングで状態データを使用したい場所の多くに発生しているようです。これに対して賢明な警戒があるのですか、それとも私はこれを間違っていますか?私はストアを使用して変更を発行し、ストアからデータを取得し、それをコンポーネントの
state
に設定することによってその変更を処理しています。ここで私の考えは、状態として設定すると、状態が変わったときにコンポーネントが再レンダリングすることがわかります。これは正しいです?または、emitハンドラ内のストアからデータを取得し、それを直接使用する必要がありますか?コンポーネント内のローカルvarに設定しますか? 私が尋ねる理由は、setState
コールが即座に呼び出されず、設定した直後に状態を使いたいという問題が発生しているようです。これを念頭に置いて、私はそれが間違っているかもしれないようです。
いずれの考えも大変ありがとうございます。
私は、各コンポーネントの条件付きアプローチが少し冗長だと思っていましたが、それを避けるための素晴らしい良い方法はないと思います。 – dougajmcdonald
私は大きなファンでもありませんが、条件付きのメソッドをヘルパー関数に移動し、代わりにトップレベルの 'if'ステートメントから退屈させることで、より見栄えを向上させることができます。 –