Как получить правильный ключ 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 для генерации уникального идентификатора.

Другие вопросы по тегам