Fluxの概念について勉強してみたかったので、色んな記事を読み漁り自分なりにまとめてみた。
Fluxの要素 1、View(ReactComponent) 2、Action 3、Dispatcher 4、Store
とりあえずこの4つを覚えればよいらしい。
1、View(React)
・Storeのデータを表示する。いわゆるView
2、Action
・ユーザーが行った操作がAction経由でDispatcherに届けられる。
3、Dispatcher
・Actionを受け付けて登録されたcallbackを実行し、Storeにイベントを通知する。すべてのデータは一旦Dispatcherを通る。
4、Store
・アプリケーションのデータと、ビジネスロジックを担当する。Storeのデータが更新された場合、changeイベントを発行してReactのコンポーネントツリーに更新を通知する。
https://github.com/facebook/flux ↑よくある図
処理の流れ
・Viewで発生したユーザーの操作がActionを経由してDispatcherを呼び出す。 ・DispatcherのコールバックとしてStoreの処理を呼び出す。 ・Storeは処理が終わるとChange Eventをemitする。 ・ViewはStoreのChange Eventをlistenしていて、Change Eventを受け取ると自身のstateを更新する。
以上。
まあ作ってみないとなんとも言えないので、とりあえず作ってみようと思う。 https://github.com/yhikishima/Flux-env