Когда пытаюсь рендерить данные сайт просто зависает. объектов много около 10000. Как можно оптимизировать рендеринг такого количество объектов, что бы сайт не зависал и прогружался быстрее?
Код выглядит таким образом:
"use client";
import {Map, Placemark, YMaps} from '@pbe/react-yandex-maps';
import {useState} from 'react'
import {useQuery} from "@tanstack/react-query";
import {getApzs} from "@/app/(main)/page";
import {APZ} from "@/types/APZ";
const MapBox = () => {
const {data, isFetching} = useQuery({
queryKey: ['posts'],
queryFn: getApzs,
initialData: [],
})
const [center, setCenter] = useState<number[]>([41.323829, 69.255752]);
const handleBoundsChange = (event: any): void => {
const newCenter = event.get('newCenter');
setCenter(newCenter);
};
return (
<>
{isFetching ? <p>Loadinng...</p>
:
<YMaps>
<Map className="w-full h-full"
state={{center: center, zoom: 12}}
onBoundsChange={handleBoundsChange}
>
{
data.result.data.map((el: APZ) => (
<Placemark
key={el.id}
onClick={() => {
alert("Вы нажали метку " + (1));
}}
geometry={[41.323829, 69.255752]}
options={{
iconLayout: 'default#image',
iconImageHref: "/img/metro.svg",
iconImageSize: [50, 50],
}}
/>
))
}
</Map>
</YMaps>
}
</>
);
};
export default MapBox;
Спасибо!