問題タブ [react-lifecycle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - 状態の更新後にマップ コンポーネントの再マウントを停止する方法 (react-google-maps)
「react-google-maps」を使用しています
私のページにはいくつかのチェックボックスと 1 つの GoogleMap コンポーネントがあります。チェックボックスをクリックした後に反応状態を更新すると。GoogleMap がアンマウントされ、再度マウントされます。GoogleMap は、チェックボックスによって変更される状態を使用しません。しかし、GoogleMap はまだ再マウントされています。
最も奇妙なのは、GoogleMap がアンマウントされることです。GoogleMap を再レンダリングする必要があると思います。次にshouldComponentUpdate()
、GoogleMap の再レンダリングを防ぐために使用できます。しかし、GoogleMap に関係のない状態で setState を設定すると、unmount がトリガーされます。
関数内で宣言GoogleMapDOM
し、html では '' のように使用します。で宣言することが原因だと思います。確認してみるよ。render
GoogleMapDOM
GoogleMapDOM
render
render function() のスニペット
誰かが私を助けることができますか?ありがとう。
reactjs - AntDesign と PrimeReact を使用した React の回避可能な再レンダリングの問題
Reactで巨大なアプリケーションを開発しています。私たちのフォームの 1 つには、さまざまなタブ項目に配置された 60 以上のコンポーネントが含まれています。
入力を編集しようとすると、テキスト ボックスに入力された文字が表示されるまでに 190 ミリ秒かかりました。何時間も問題を掘り下げた後、コンポーネントを追加すると応答時間が長くなることに気付きました。次に、問題は antdesign のレンダリング ロジックにあると判断しました。次に、「why-did-you-update」パッケージを使用して PrimeReact で試しました。結果は同じでした!
状態に変更が発生すると、すべてのコンポーネント (アイコン :) を含む) が「更新した理由」メッセージごとにレンダリングを試みました。
ここにサンドボックスがあります: https://codesandbox.io/s/6w30ro2l9w
「更新した理由」メッセージは間違っていますか、それとも何か不足していますか?