Я правильно делаю?
Да, вы. Вы должны использовать его таким образом.
это не самый эффективный способ
Вы тоже здесь. Это не самый эффективный способ . Это связано с тем, что после смены реквизита будет произведена повторная визуализация компонента реакции. Это будет включать удаление имеющихся маркеров и добавление всех новых маркеров. Это потому, что React не будет знать, что из предыдущих реквизитов и что нового.
Вы можете исправить это, используя ключи при отображении ваших данных. Подробнее об этом здесь
Другим способом было бы рассчитать ваши addedMarkers
, removedMarkers
и updatedMarkers
отдельно и использовать их для повторной визуализации вашего представления. Это, однако, может оказаться большой проблемой, если в вашем приложении будет использоваться меньшее количество маркеров.