React.lazyはなぜ起動時に300ms待つのか、その正体

React.lazy, Suspense and the Hidden 300 ms Delay

React.lazyはなぜ起動時に300ms待つのか、その正体

タブを開くたびにゼロから起動する拡張機能で、ウィジェットのコードは約100msで読み込まれているのに表示は約380msかかっていた。原因はバンドルサイズではなく、React.lazyが初回レンダーで必ずサスペンドし、Reactがサスペンドしたコンテンツの表示を300ms間隔でしか解禁しない仕様だった。自前でプレースホルダーを描画してサスペンドを回避したところ、最初のウィジェットが約240ms、ダッシュボードの大半が約200ms早く表示された。

小さなファイルが役立つのは、ブラウザが待つ対象を変えたときだけだ。

この日のほかの記事

2026-10-29