Flux アーキテクチャでは、フローは一方向であるため、最終的には、ビューがストアを直接更新することはありません。ストアはビューに状態を提供します。ビューからデータを追加、削除、更新、または削除しようとすると、ストアにディスパッチされるアクションがトリガーされます。次に、ストアはディスパッチされるデータを受け取り、そのデータで何かを行い、「変更」イベントを発行します。ストアにサブスクライブされているすべてのビューには、それに応じて更新が通知されます。たとえば、これはビューです。
var Events = React.createClass({
getInitialState: function() {
this.store = this.props.context.getStore('EventStore');
return this.store.getState();
},
componentDidMount: function() {
this.store.addChangeListener(this._setState);
},
componentWillUnmount: function () {
this.store.removeListener('change', this._setState);
},
_setState: function () {
this.setState(this.store.getState());
}
});
このチュートリアル ( http://facebook.github.io/flux/docs/todo-list.html ) に従って理解を深めることができますが、FLUX のようなアーキテクチャを使用する鍵と直接的な利点は、単方向フローです。