Ich erzeuge eine dl
in Reaktion:
<dl>
{
highlights.map(highlight => {
const count = text.split(highlight).length - 1;
return (
<>
<dt key={`dt-${highlight.id}`}>{highlight}</dt>
<dd key={`dd-${highlight.id}`}>{count}</dd>
</>
);
})
}
</dl>
Das gibt mir die Warnung:
Warnung: Jedes untergeordnete Element in einer Liste sollte eine eindeutige „Schlüssel“-Requisite haben.
Dadurch wird die Warnung entfernt, aber der gewünschte HTML-Code wird nicht generiert:
<dl>
{
highlights.map(highlight => {
const count = text.split(highlight).length - 1;
return (
<div key={highlight.id}>
<dt>{highlight}</dt>
<dd>{count}</dd>
</div>
);
})
}
</dl>
Und ich kann keine hinzufügen key
Prop an ein Fragment (<> </>
).
Wie kann man das umgehen?
Ich verwende React 16.12.0
.
<React.Fragment key={'foo'}>
. Verwenden Sie nicht die Shortcut-Syntax. Sehen Schlüsselfragmente– Dupokas
18. Dezember 2019 um 11:23 Uhr
Nur ein Vorschlag, verwenden Sie den Index nicht als Schlüssel. Sehen Sie hier, warum: Reagieren Sie mit Index als Schlüssel für Elemente in der Liste
– Ashish Duklan
19. November 2020 um 11:22 Uhr