help ensure key uniqueness for token field items #7293
Merged
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.
A stab at resolving #7043.
TokenField
was using the value as a key for the list items in the token field list, which in the case of the pulse recipient list was potentially an entire user object. I think that was causing React to swallow the new items during the DOM update given it was logging this message.Encountered two children with the same key,
[object Object]. Child keys must be unique; when two children share a key, only the first child will be used.
- Pretty much sums up the behavior we saw.This is a dumb fix to confirm what needs to be changed as index is somewhat frowned upon as a key (which is why I'm guessing this happened in the first place). There are a couple options as I see it:
<TokenField />
component to provide a custom key prop and if it's not specified fall back to index.