ホームページ  >  記事  >  ウェブフロントエンド  >  React で onClick 関数がレンダリング時にトリガーされる理由とそれを防ぐ方法?

React で onClick 関数がレンダリング時にトリガーされる理由とそれを防ぐ方法?

DDD
DDDオリジナル
2024-11-07 19:29:03262ブラウズ

Why Does an onClick Function Trigger on Render in React and How to Prevent It?

React のレンダリング時に onClick 関数が起動する理由とそれを防ぐ方法?

オブジェクトのリストと削除関数を渡すとき子コンポーネントに追加し、 .map() 関数を使用してオブジェクトを表示すると、ボタンの onClick 関数がレンダリング中に発生するはずがないことがわかります。

この問題を解決して、onClick 関数が起動しないようにするにはon render:

説明:

元のコードでは、onClick イベント ハンドラーは関数への参照として渡されるのではなく、直接呼び出されます。これは、ボタンがクリックされたときではなく、コンポーネントがレンダリングされたときに関数が実行されることを意味します。

解決策:

これを修正するには、次のようなアロー関数を使用します。 so:

<button type="submit" onClick={() => { this.props.removeTaskFunction(todo) }}>Submit</button>

ES6 で導入されたアロー関数を使用すると、関数キーワードを明示的に宣言しなくても匿名関数を定義できます。この場合、ボタンがクリックされるまでアロー関数は呼び出されず、レンダリング時に onClick 関数が起動されなくなります。

以上がReact で onClick 関数がレンダリング時にトリガーされる理由とそれを防ぐ方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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