宣言的UI
でいいのかな基素.icon
1(フレーム|状態)ごとのアプリの状態を設定するだけで済んだという点が重要という認識takker.icon
before
前(フレーム|の状態)に変更を加えて新しい状態を表示していた
前の状態がどうなっているのかを知らないといけない
after
今どう表示したいかだけ書けばよくなった
以前どんな状態だったか、今後どんな状態になるかは一切考えなくていい
今まではafterを実現するのに、時間がかかりすぎるという技術的な問題があった
DOMを毎回毎回全部捨てて一から作り直すことで実装できるのだが、あんまりにもコストが大きすぎる
RailsとかPHPの時代はこれが当然だったbsahd.icon
もちろん、小規模アプリならこれでもいい
Reactは以前のDOMとの差分だけを更新する手段を取ることで、現実的な処理速度と負荷でDOMを構築できるようになった
それでも要素数がえぐい(2万~)時は結構重かったりするbsahd.icon
Cosenseがこれで困る
差分更新は全部Reactがやってくれるので、アプリ開発者は今の状態だけをReactに伝えればいい
const Component = (...) => { ...; return <div>...</div>}のreturn文がその今の状態に当たる
DOMにまともなオブジェクト指向を持ち込んだだけでこれ
宣言的UIが苦手なところ
要素の削除を考慮したアニメーション
アニメーションだと差分を考慮する必要があるので、無理にReactで頑張るより普通にDOMいじったほうが良かったり
References