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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: すべてのブラウザとの完全な互換性を実現するために最適なプリセットを選択してください
目次プレハブプレハブの作り方プレハブの役割1. 同じタイプのノードをバッチで作成する2. 特定の時間...
最近、Vue プロジェクトではデータをリアルタイムで更新する必要があります。折れ線グラフは 1 秒ご...
<br />幅と高さが適応するオリジナルの 9 グリッド レイアウトをベースに、ネットワ...
序文この記事では主に、MySQL ストレージ テーブル エラー「java.sql.SQLExcept...
Vueバスの簡単な使い方シナリオの説明:コンポーネント A にはコンポーネント B と C が含まれ...
1. 概要ユーザーは、アクセスする Web アプリケーションがインタラクティブでスムーズに実行される...
1. チューニングの必要性 私は、どのように書けばいいのか本当に分からないので、共有するために最適...
MySQL 5.7コマンドを使用するMySQLコマンドラインクライアント1. パスワードを入力してく...
1. Docker コンテナのホスト マシンに入り、指定されたイメージを実行しているコンテナ ID ...
1. Windows Server 2019 のインストールVmware に Windows Se...
目次開発環境ゲームエンジンのコンセプトCocos Creatorについてプロジェクト構造コード編集環...
■ ウェブサイトのテーマ計画 ウェブサイトのテーマが断片化しすぎないように注意してください。一般的に...
イメージを構築するイメージを構築するには、主に 2 つの方法があります。実行中のコンテナをイメージに...
以前はaタグのname属性を使ってジャンプする方法しか知らなかったのですが、idも使えることを今日知...