問題タブ [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.

0 投票する
0 に答える
649 参照

reactjs - 状態の更新後にマップ コンポーネントの再マウントを停止する方法 (react-google-maps)

「react-google-maps」を使用しています

私のページにはいくつかのチェックボックスと 1 つの GoogleMap コンポーネントがあります。チェックボックスをクリックした後に反応状態を更新すると。GoogleMap がアンマウントされ、再度マウントされます。GoogleMap は、チェックボックスによって変更される状態を使用しません。しかし、GoogleMap はまだ再マウントされています。

最も奇妙なのは、GoogleMap がアンマウントされることです。GoogleMap を再レンダリングする必要があると思います。次にshouldComponentUpdate()、GoogleMap の再レンダリングを防ぐために使用できます。しかし、GoogleMap に関係のない状態で setState を設定すると、unmount がトリガーされます。

関数内で宣言GoogleMapDOMし、html では '' のように使用します。で宣言することが原因だと思います。確認してみるよ。renderGoogleMapDOMGoogleMapDOMrender

render function() のスニペット

誰かが私を助けることができますか?ありがとう。

0 投票する
0 に答える
175 参照

reactjs - AntDesign と PrimeReact を使用した React の回避可能な再レンダリングの問題

Reactで巨大なアプリケーションを開発しています。私たちのフォームの 1 つには、さまざまなタブ項目に配置された 60 以上のコンポーネントが含まれています。

入力を編集しようとすると、テキスト ボックスに入力された文字が表示されるまでに 190 ミリ秒かかりました。何時間も問題を掘り下げた後、コンポーネントを追加すると応答時間が長くなることに気付きました。次に、問題は antdesign のレンダリング ロジックにあると判断しました。次に、「why-did-you-update」パッケージを使用して PrimeReact で試しました。結果は同じでした!

状態に変更が発生すると、すべてのコンポーネント (アイコン :) を含む) が「更新した理由」メッセージごとにレンダリングを試みました。

ここにサンドボックスがあります: https://codesandbox.io/s/6w30ro2l9w

「更新した理由」メッセージは間違っていますか、それとも何か不足していますか?