1. 2 つの setState を何回呼び出すのですか?次のコードに示すように、 ボタンをクリックすると、 回答:各 状態 = { カウント: 0 }; ハンドルクリック = () => { this.setState({ count: this.state.count + 1 }); this.setState({ count: this.state.count + 1 }); }; 与える() { console.log(`レンダリング`); 戻る ( <> <div>現在のカウント: {this.state.count}</div> <button onClick={this.handleClick}>追加</button> </> ); } 常識的に考えると、ボタンが初めてクリックされたとき、 ブラウザで上記のコードを実行するだけです: 最初、ページには その理由は、React が複数の これは、上記のコードで 2. 2 つの setState のうち、どちらが呼び出されますか?しかし、上記のコードでは、React がマージされた後にどの 状態 = { カウント: 0 }; ハンドルクリック = () => { this.setState({ count: this.state.count + 1 }); this.setState({ count: this.state.count + 2 }); // +2 に変更 }; 与える() { console.log(`レンダリング`); 戻る ( <> <div>現在のカウント: {this.state.count}</div> <button onClick={this.handleClick}>追加</button> </> ); } ブラウザでもう一度実行します。 結果は、ボタンをクリックした後、 3. setTimeout に 2 つの setState が配置されていますか?クリック イベント関数にタイマー 状態 = { カウント: 0 }; ハンドルクリック = () => { タイムアウトを設定する(() => { this.setState({ count: this.state.count + 1 }); this.setState({ count: this.state.count + 2 }); }, 0); }; 与える() { console.log(`レンダリング`); 戻る ( <> <div>現在のカウント: {this.state.count}</div> <button onClick={this.handleClick}>追加</button> </> ); } 実行結果: 結果は、ボタンをクリックした後、 これは、React の合成イベントおよびライフサイクル関数で 4. 結論
React には、合成イベントとライフサイクル関数のパフォーマンス最適化メカニズムがあります。複数の React のパフォーマンス最適化メカニズムをバイパスして、ネイティブイベントまたは React で複数の setStates が何回呼び出されるかについてはこれで終了です。React で複数の setStates が何回呼び出されるかの詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: すべてのブラウザとの完全な互換性を実現するために最適なプリセットを選択してください
この記事の例では、ストップウォッチタイマーを実装するためのJSの具体的なコードを参考までに共有してい...
目次- 序文 - - JVM クラスローダー - 1. JVMクラスローダー2. クラスローダーのソ...
目次LocalStorageとはSessionStorageとはLocalStorage と Ses...
1. 依存パッケージをインストールする yum -y インストール gcc-c++ ncurses-...
1. 最新のnginx dockerイメージをダウンロードする $ docker pull ngin...
Linux は一般的にサーバーとして使用され、サーバーは一般的にコンピュータルーム内に置かれます。L...
少し前にTikTokで揺れる連打が流行っていたので真似してみることにしました。さっそく効果をみてみま...
CUDA とは何かを紹介するのではなく、複数の CUDA バージョンの共存とリアルタイム切り替えをど...
目次Vue2.x の使用法グローバル登録部分登録使用フック機能フック関数のパラメータVue3.x の...
多くの場合、Web デザインが完成した後でデザイナーの無知が露呈し、批判されることがあります。彼らは...
1. エラーの再現MySQL データベースにはアクセスできますが、データベース テーブルを読み取るこ...
目次1. 配列を結合する2. 配列をマージする(最初に) 3. 配列の複製4. 構造化分解割り当て5...
AWS - Amazon のクラウド コンピューティング サービス プラットフォーム以前、AWS の...
目次1. コンテナ相互接続を実現するためにネットワークをカスタマイズする2. ネットワーク接続1. ...
n 個のアイテムがあり、これらのアイテムをグリッド レイアウトの列に並べ替える必要があるとします。列...