Reactのレンダーについて
レンダーというと「描画する」という日本語のニュアンスを想像しますが、Reactのレンダー(フェイズ)だと少し違った意味になります。
https://ja.reactjs.org/docs/strict-mode.html#detecting-unexpected-side-effects
レンダーフェーズでは、変更対象(例えば DOM)にどのような変更が必要か決めます。このフェーズにおいて、React は
render
を呼び出し、1 つ前のレンダー結果と比較します。
コミットフェーズで React は変更を反映します(React DOM の場合ではここで React は DOM ノードの挿入、更新、削除を行います)。React はこのフェーズで
componentDidMount
やcomponentDidUpdate
などのライフサイクルの呼び出しも行います。
このように、レンダーフェーズでは、内部的に仮想DOMの差分を算出するフェーズであり、コミットフェーズが描画するフェーズになります。
有識者と会話する時は注意が必要です。
最近のコメント