fix: do not use array index as react list-key #1767
+14
−8
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull request type
Bug fix (non-breaking change which fixes an issue)
Description
Both
GoogleMap
andLeafletMap
components use the array index as key for the list-items.This is discouraged: https://react.dev/learn/rendering-lists#rules-of-keys
In fact, this caused issues for us when rendering large amounts of locations and when filtering them.
This would present in hover-texts showing a different title than the popup. In fact, when examining the html, it turned out that multiple locations would get the same title.
I resolved the issue by using the object guid as key for the list. If there is no key (e.g. for static markers) i use a combination of the lat and lng.
What should be covered while testing?