Flux の特徴は何か、その説明として「一方向」という表現は適切か
@kuy view に state を持たないの観点で言うと、厳密には react という選択は中途半端なのでは、とのアンチ react ユーザー(ぼく) の声が。→ でも集約する点について似たようなことを書きました。 twitter.com/bouzuya/status…
2016-06-23 09:21:02@kameturu ありがとうございます。store (元図でのmodel) の分離自体は flux に限らずあること、dispatcher を hub として使うことが分かりました。store よりは dispatcher 経由に集約することこそ重点が置かれてそうな気がします。
2016-06-23 09:11:31data flow を single dispatcher での observer pattern を使って集約し、さらに subscribe を store に限定することで、 store -> view -> dispatcher -> store に制限して整理した。
2016-06-23 09:26:21@bouzuya reactはデータフローに関して意見を持っていたっけ?という認識です。階層作って親に持たせたりしますけど、MVWの域を超えてないなぁって。その意味では差分ってcommandパターンによる分離くらいなのかな。
2016-06-23 09:29:39@kuy React 自体は持っていないですよ。React/Flux という構成をとった場合には view に state を云々を厳格に守ると不適切じゃないか、というアンチっぽい意見です。↓こう整理してみたんですけど、いかがです? twitter.com/bouzuya/status…
2016-06-23 09:31:15@kuy React は View 内に state を持てるようにするためにいろいろ持ってるよねという話は以前したと思います。 一方で Flux では理想的には View に state を持たせないほうが良いという話があるなら、Flux に React を使うのは不適切では?
2016-06-23 09:43:09@kuy React が state を持つこと自体は問題ないですし、Flux で view に state を程度によっては持ってもいいと思っているので、必ずしもダメというわけではないですが、厳密に考えるとどうなの、という。
2016-06-23 09:45:52@bouzuya ReactはReact単体で使うことも想定しているからなのでは? Reactはビューレンダラーとしての役割と状態管理の2つの役割がありますが、Fluxと併用したときビューレンダラーとしての役割だけを使ったからといって不適切と判断するのは行き過ぎでは?と思います。
2016-06-23 09:47:42@bouzuya ですよね。つまり、bouzuyaさん的にはそもそもstateを持てないReactみたいなやつがあればその方が理想的じゃん、ってことですよね? Fluxの設計に合致するという意味で。
2016-06-23 09:50:12@kuy 無駄な機能は持たないほうがいいし、最適とはいいづらいです。ただあって困るものでもないので、無理やり噛み付いているあたりが「アンチっぽい意見」とした理由ですし、「View に state を持たない」を「厳格」に守るなら、という前提もあります。
2016-06-23 09:50:34@kuy そうですそうです。React が state を持てる判断は問題ないですし、Flux においても View に state を一部持たせる判断をするなら React は良い選択肢です。
2016-06-23 09:52:10@kuy それを踏まえつつも、「ただ View に state を絶対に持たせないなら React どうなの?」と噛み付いていくのはいかにも「アンチっぽい意見」なわけです。
2016-06-23 09:52:51@bouzuya だからこそ、その部分を明確にするためにStateless Functional ComponentとかPureComponentの議論が進んで実装されつつあるんでしょうね。
2016-06-23 09:56:45そもそも、 flux は view に state を持ってはいけないまでは言ってないはずだし、今回のまとめた範囲でも store 経由ってくらいで、そこにどれだけ持つかは触れてないんだよね。
2016-06-23 10:36:13