ホームページ >ウェブフロントエンド >jsチュートリアル >React は `setState()` 呼び出しのたびにコンポーネントを再レンダリングしますか?
React はすべてのコンポーネントを再レンダリングしますか「setState()」が有効な場合は、そのサブコンポーネントとそのサブコンポーネント呼び出されていますか?
はい、React は「setState()」が呼び出された後、デフォルトで再レンダリングをトリガーします。
React はレンダリングの最適化を目的としていますが、常に再実行することで状態の突然変異によって引き起こされる微妙なバグを防ぎます。状態が変化したときの「render」メソッド。
各コンポーネントには、「ShouldComponentUpdate(nextProps, nextState)」というメソッドがあります。このメソッドは、props と state への変更に基づいて「render」を再実行するかどうかを決定します。
デフォルトでは、「ShouldComponentUpdate」は true を返し、再レンダリングが確実に行われます。状態またはプロパティが変更されるたびに。
提供されたコード内スニペットでは、Main コンポーネントはテキストがクリックされるたびにその状態を同じ値 (「me」) に設定します。状態が変化しなくても、「 shouldComponentUpdate 」がデフォルトで true を返すため、React は Main コンポーネントと TimeInChild コンポーネントの両方を再レンダリングします。
次の方法でレンダリングを最適化できます。新旧のプロパティと状態を比較して実際の再レンダリングが適切かどうかを判断する「 shouldComponentUpdate 」のカスタム実装を作成します。必要です。
以上がReact は `setState()` 呼び出しのたびにコンポーネントを再レンダリングしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。