問題の説明:const [textList, setTextList] = useState(元の配列); setTextList(新しい配列); 元の配列を変更する場合、元の配列が深い配列(複数のレイヤー)である場合、setTextListを使用して変更してもページの更新はトリガーされません。 原因分析:これには、可変オブジェクトと不変オブジェクトの知識が必要です。Vue と React では、可変オブジェクトを更新すると、ビューが更新されることがあります。これは、Vue と React がデフォルトで浅いリスナーであり、最初のレイヤーのデータのみをリッスンするためです。内部レイヤーのデータの変更は監視されません。 解決:ここでの私の解決策は、まず元の配列のディープ コピーを作成し、それを新しい配列に割り当て、次に新しい配列を変更して変更された新しい配列を渡すことです。これにより、ビューが更新されます。 var リスト = textList.concat(); リストを連結します(インデックス、1); setTextList(リスト); 補足: Reactでは、フックが使用されている場合、useStateの更新はコンポーネントをレンダリングしません。 react を使用して図のようなコンポーネントを記述すると、重大な問題が見つかりました。クラスを使用して記述することを選択すると、コンポーネントを通じてレンダリングを更新するのが簡単になります。 問題は解決したので、戻って何が起こったのか見てみましょう。 。 。 上記は、React Pure Function コンポーネントの setState 更新ページが更新されない問題の詳細な解決方法です。React の useState ページが更新されない問題の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: VMware vSphere 6.5 インストール チュートリアル (画像とテキスト)
>>: CentOS 6.9 で glibc ダイナミック ライブラリをアップグレードする詳細なプロセス
Nginxをインストールするまずcentosイメージをプルしますdocker pull centos...
目次1. JavaScript がシングルスレッドなのはなぜですか? 2. タスクキュー3. イベン...
これまでは、拡張子が .msi のファイル、つまり、完全なインストールが使用されていました。しかし、...
構成の序文プロジェクト構築: vue-cli3 をベースに構築、rem 適応には postcss-p...
この記事では、Ubuntu 18.04でのVMware Toolsのインストールと設定について記録し...
目次1. 4つのコンセプト1. JavaScriptはシングルスレッドです2. タスクキュー3. 同...
序文MySQL インデックスで最も重要なデータ構造は B+ ツリーなので、まずは B+ ツリーの原理...
MySQL 5.5.56無料インストール版の設定方法をテキストコードで詳しく説明します。具体的な内容...
ビューポートとはモバイル ブラウザは、Web ページを仮想の「ウィンドウ」(ビューポート) に配置し...
3次元縦棒グラフは、正面、右側、上部の3つの部分で構成されています。描画するときは、正面をグラフィッ...
理由nacos の pom が依存する mysql バージョンが、mysql バージョンと一致してい...
1. クロスドメインを実現するためにCORSレスポンスヘッダーを設定するクロスオリジンリソース共有...
目次物体オブジェクト定義オブジェクトのメンバーを反復処理するJS組み込みオブジェクト数学オブジェクト...
相対パス - ファイルを参照する Web ページの場所に基づいて確立されたディレクトリ パス。そのた...
ソフトウェアとハードウェア環境centos7.6.1810 64ビット cat /etc/red...