第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

React 卸載 30k+ 組件很慢

React 卸載 30k+ 組件很慢

月關寶盒 2022-12-22 15:38:04
我有一個地圖,其中包含大約 30k+ 個交互式標記和一些過濾器。每當我選擇一個過濾器并單擊應用時,都會進行 API 調用以獲取過濾后的數據?,F在的問題是現有的 30k+ 標記將被刪除(卸載),并將替換為來自 api 調用的新過濾數據。此卸載操作導致 UI 凍結大約 10 秒以上,并最終呈現過濾后的數據。當發(fā)生這樣的操作時,我什至無法顯示微調器。如何優(yōu)化如此大的數據集的掛載和卸載?。我已經使用了所有渲染優(yōu)化,如 React.memo() 等,但問題是由于初始渲染和一次刪除如此大的數據。`<Map     ref={mapRef}     center={latlng}     zoom={14}     minZoom={12}     preferCanvas={true}  >  <TileLayer      attribution='&amp;copy <a href="http://osm.org/copyright" target="_blank" rel="noopener noreferrer">OSM</a>'      url={`${OSM_URL}/tile/{z}/{x}/{y}.png`}   />   <MarkerClusterGroup chunkedLoading={true} chunkInterval={500}>       <MarkerList markers={mydata} showInfoPopup={showInfoPopup} />    </MarkerClusterGroup></Map>`我考慮過的事情:使用display: none而不是卸載。但這不會解決初始安裝的問題,并且它不可能用于標記組件。將渲染卸載到工作線程。(不知道這在 React 中是否可行——最好的方法)使用普通的舊 DOM 元素而不是 React 組件,但這并不是最佳選擇非常感謝有關如何處理如此大的數據集的任何指導。
查看完整描述

1 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

我能夠使用 Leaflet.js 的 clearLayers 方法清除所有標記節(jié)點。這修復了掛載和卸載緩慢的問題。



查看完整回答
反對 回復 2022-12-22
  • 1 回答
  • 0 關注
  • 92 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號