Posted at

Reduxの3原則の理由がわからない

More than 1 year has passed since last update.

これは、ノウハウやTIPSではなく疑問のメモです。すみません。

Reduxには、Reduxの3原則というものがあるということを知りました。

https://github.com/reactjs/redux/blob/master/docs/introduction/ThreePrinciples.md

読んでみたのですが、その3原則がなぜあるのかが理解できません。

3原則の説明には、ざっくり以下の内容が書かれてます。


Three Principles


Single source of truth


  • サーバから渡されたstateを特別な実装無しでシリアライズできる。

  • stateをprintできるのでデバッグにも便利。


State is read-only


  • actionを投げることでしかstateを変えられないって書いてる。

  • (それはstateがread-onlyであるべき理由じゃないよね。)


Changes are made with pure functions


  • 部分的なreducersに分割することができるって書いてる。

  • (それは、reducer が pure function であるべき理由じゃないよね。)


「なぜその3原則があるのか?」が書かれてない

「これらの原則があることで良いアプリケーションを書ける理由がこれこれだから、これらの原則があるんだ」、という内容を期待してたんですが、それが書かれてない。

唯一 Single source of truth の原則だけが理由が書かれてるんですが、これについても(少なくともここに書いてある理由だけだと) え、そんだけの理由? という感じです。

ネットで調べても、これらの原則がある理由は見つけられませんでした。

だれか知ってたら教えてください...