ホームページ >ウェブフロントエンド >jsチュートリアル >React コンポーネントが Strict モードで 2 回レンダリングされるのはなぜですか?

React コンポーネントが Strict モードで 2 回レンダリングされるのはなぜですか?

DDD
DDDオリジナル
2025-01-03 11:01:43857ブラウズ

Why Does My React Component Render Twice in Strict Mode?

Strict モードで React コンポーネントを 2 回レンダリングする

Strict モードでは、React は潜在的な副作用を検出するためにコンポーネントのレンダリング関数を意図的に 2 回呼び出します。この動作は、コンポーネントを 2 回レンダリングすることで明らかになります。

提供されたコード例では、Update コンポーネントは厳密モードで実行されているため、2 回レンダリングされます。 Index.js の strict モード タグをコメント アウトすると、問題は解決し、コンポーネントは 1 回だけレンダリングされます。

React.StrictMode は、レンダリング フェーズでの偶発的な副作用を特定するのに役立つ開発モード機能です。これは、レンダリング関数を複製することによって実現されており、これにより、他の方法では気づかれない可能性がある問題が明らかになる可能性があります。

React のドキュメントによると、レンダリング中に予期しない副作用が次の原因で発生する可能性があります。

  • コンポーネントのレンダリング関数
  • の外でフックを呼び出している間、DOM から読み取ります。 render
  • レンダリング中にコンポーネントに渡される ref にアクセスする
  • レンダー関数内で状態を変更する
  • コンポーネントのレンダー関数内から親コンポーネントの状態変更をトリガーする

以上がReact コンポーネントが Strict モードで 2 回レンダリングされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。