generated at
forced synchronous layout


ブラウザレンダリング時に起こる問題
レイアウトで凝ったことやると起こる
細かい事はよくわかってないshokai

ブラウザに表示されたwebページのあるDOMの大きさ(幅や高さ)を取得する時に
ある部分の大きさが、他の要素の大きさに影響される事がある
document.body.clientWidth とか
中身を全部レンダリングしなければ、bodyの大きさは確定しない
document.body.clientWidth の値を使って表示サイズを決定する部品があった場合
ブラウザはどうなるか?
そこの処理をスキップして、仮にDOMをレンダリングして document.body.clientWidth を作ってから戻ってくるらしい?
すごい大変そう
デザイン上しょうがない
しかし、重いのでなるべく「仮レンダリングして元の位置に戻ってくる」回数を減らしたい
子コンポーネントが、親コンポーネントのサイズを見て大きさを変える場合等にも発生する
画面が固まる
みたいな感じ?shokai
末端の方のコンポーネントから、上の方のサイズを参照したりすると固まる
他にもありそう


こんな感じでcacheすると回避できる
js
let clientWidth // cache window.addEventListener('resize', () => clientWidth = document.body.clientWidth)