Как получить правильный ключ React для компонента Marker?
Когда используется ответная листовка и рендеринг, например, нескольких компонентов Marker из массива latlons, один заканчивается, например:
latlons.map((lat, lon, i) => <Marker key={i} position={L.latLng(lat, lon)} />
Тем не менее key={i}
это не очень хорошая практика, как объясняется здесь.
Кажется, что не реагирует - листовка предоставляет инструменты для генерации уникального ключа для компонента. В некоторых случаях можно использовать key={lat.toString() + lon.toString()}
Однако этот подход не будет работать, когда маркер должен быть перетаскиваемым.
1 ответ
Просто сделайте уникальную строку на ваш выбор. Если вы сохраняете свои маркеры в базе данных, хорошим вариантом будет создание строки, содержащей значение первичного ключа вашего маркера. Если вам нужно сгенерировать что-то на лету, вы можете использовать пакет uuid для генерации уникального идентификатора.