2017-06-05 3 views
1

Ich verwende BlueprintJS UI Komponenten für meine ReactJS Webapp. mag ich die Warnung, um loszuwerden, wenn die Tree-Komponente mit einer Datei-Explorer zu machen:BlueprintJS Tree Schlüssel hinzufügen Prop

Each child in an array or iterator should have a unique "key" prop. Check the render method of "Tree"

Im documentation of the Tree component ich ein key Attribut finden kann, die das, was sein könnten, die ich suche, aber ich kann die Warnung nicht wegbekommen.

node: [ { hasCaret: true, iconName: "folder-close", label: "Folder 0", key: '1e' } ]

eveb diese einfache Struktur für den Baum gibt mir die Warnung. Irgendwelche Vorschläge?

Antwort

1

Ich gehe davon aus, node wird in die Tree 's erforderlich contents prop umgesetzt. Wenn Sie sich die ITreeNodeInterface ansehen, sehen Sie, dass Ihr Objekt eine Anzahl erforderlicher Felder enthält. Sie haben die folgende haben:

  • depth
  • id
  • label
  • path (fraglich, ob dies wirklich obwohl erforderlich ist: siehe diese ticket)

Sie scheinen zu fehlen depth, id und path. Ich bin mir nicht sicher, ob path wirklich erforderlich ist, aber für Anfänger können Sie versuchen, depth: 0 und id: 1e zu Ihrem Objekt hinzuzufügen? Sie können key wahrscheinlich loswerden, da das optional ist.

Nebenbei ist diese Warnung nicht so harmlos. Es kann oft zu einem mysteriösen React-Verhalten führen, da es nicht in der Lage ist herauszufinden, welche Komponenten tatsächlich aktualisiert werden müssen.