immutable
Opened this issue · 0 comments
hiz8 commented
参考文献
作成中のアプリケーションの Redux で管理するステートへ、イミュータブルを持ち込むか否かを検討している。
それにあたり、改めてその利点を再確認し整理した。
-
フロントエンドでは状態が時間やインタラクションで変化する
- バックエンドと異なり状態がどこかに存在し、非同期に発生する条件に応じて変化する
- この状態と描画の整合性を図るのが難しい
- React のような宣言的な UI へ移行しつつある要因
-
JavaScript はオブジェクトの破壊的な変更による影響が予想しずらい
- これが予期せぬ描画に繋がる
-
React がイミュータブルを要求してくる
- 開発チームの指向からか、関数型の**が随所に垣間見れる
- 状態に副作用を起こして再描画することができない (setState を必ず用いる)