2

フラックスのチュートリアルでは、「アプリケーションの状態はストアでのみ維持されます」と書かれています。this.stateしたがって、私には、react のコントローラービューにも、 を呼び出すコールバックを介してストアとの同期が保たれているという直感に反するように思えますsetState()

ステートフルなコントローラービュー自体をストアとして使用する方が理にかなっているのではないでしょうか? このように、「状態」という単語がアプリに表示されるのは店舗だけです。そして、すべての非ステートフル (または非ストア) ビューは のみを使用しますthis.props

this.state基本的に、その状態を使用するビューとその状態を管理するストアがあるのはなぜですか?ビュー自体はそれを管理できないのでしょうか? this.stateそれが変数のポイントだと思いました。

4

1 に答える 1

3

コンポーネントが重要なデータを所有することの問題は、そのコンポーネントから外部からアクセスできないことです。

たとえば、サーバーへのデータの同期を 10 秒ごとに開始することにした場合、コンポーネントはそれを気にする必要はありません。ストアからデータを取得して保持するスクリプトを作成するだけです。

また、一部のデータは、明確な関係または関係を持たないコンポーネントによって共有されます。これの最も一般的なケースは、現在のユーザーです。たとえば、ユーザーがログインできる方法が 3 つあり、ログイン ステータスとユーザー情報がページの表示に影響する場所が 5 つ、ログアウトできる場所が 2 つあるとします。

于 2014-07-18T02:34:53.903 に答える