Reactでイミュータビリティがなぜ大切か
複雑な機能が簡単に実装できる
Historyなど
変更の検出
mutateされたオブジェクトが変更されているかを判別するにはオブジェクト全体をスキャンしなければならないが、immutableであれば
$ O(1)
になる
React の再レンダータイミングの決定
pure component を構築しやすくなる ->
Reactのパフォーマンス最適化
直接
this.state
をmutateするコードを書くとconsoleで警告が出る。