const Leaf = ({ id }) => <Tree.TreeNode title={doing something dynamic here} />
...
<Tree>
{ instances.map(instance => <Leaf key={instance} id={instance} />) }
</Tree>
Es sieht so aus, als ob der Ameisenbaum nicht dynamisch/komponentenorientiert ist. Es gibt keine Möglichkeit, einen Treenode zurückzugeben, ohne auf Fehler wie TypeError: props.filterTreeNode is not a function
zu stoßen.
Ich weiß nicht, wie ich das lösen soll. Jede Blattkomponente muss reaktiv sein, es gibt keine Möglichkeit, alle verschachtelten Daten im Voraus zu erhalten, es sei denn, ich rendere den gesamten Baum für jede Änderung, was aus Leistungsgründen nicht möglich ist.
Hallo @drcmda , TreeNode
kann mit der aktuellen Architektur nicht komponiert werden.
Ändern Sie Ihren Code in:
<Tree>
{ instances.map(instance =>
<Tree.TreeNode key={instance} title={doing something dynamic here} />)
}
</Tree>
@yesmeck Ich fürchte, das ist nicht möglich, weil es bedeuten würde, dass ich vorher die verschachtelte Struktur haben muss, aber nur verschachtelte Komponenten kennen ihre Unterkomponenten (sie sind an den Zustand gebunden). Am Ende habe ich jedoch meinen eigenen Baum geschrieben. Ich habe große Hoffnungen, dass dies eines Tages angegangen wird. :)
@yesmeck @benjycui @warmhug
Besteht die Möglichkeit, dass der TreeNode eine eigenständige und zusammensetzbare Klasse wird? Da Tree
und TreeNode
getrennte Klassen in rc-tree
sind, sollte dies möglich sein, oder irre ich mich?
Ich würde TreeNode
wirklich als eigenständige Klasse begrüßen, da sie viele Möglichkeiten bieten und sich "reaktionsfreudiger" anfühlen würde.
Hilfreichster Kommentar
@yesmeck @benjycui @warmhug
Besteht die Möglichkeit, dass der TreeNode eine eigenständige und zusammensetzbare Klasse wird? Da
Tree
undTreeNode
getrennte Klassen inrc-tree
sind, sollte dies möglich sein, oder irre ich mich?Ich würde
TreeNode
wirklich als eigenständige Klasse begrüßen, da sie viele Möglichkeiten bieten und sich "reaktionsfreudiger" anfühlen würde.