1
Ich möchte die unten rekursive Funktion ausführen, das Problem ist ul
Da, wenn die Funktion aufgerufen wird, schiebe ich ein Tag und am Ende forEach
Ich schließe es. Incase, wenn ich outputArray.push(<ul>)
mit dem schließenden </ul>
ändere, dann funktioniert es gut, aber das wird meinem Zweck nicht dienen.Element Push ohne schließendes Tag JSX
Um es herum?
Hinweis: Dies ist eine rekursive Funktion.
function flatten(data, outputArray) {
outputArray.push(<ul>)
data.forEach(function (asset){
if(asset.children.length) {
outputArray.push(<li><button onClick={_ => this.appendAssets(asset.name)}>{asset.name}</button></li>);
flatten(asset.children, outputArray);
}
else{
outputArray.push(<li><button onClick={_ => this.appendAssets(asset.name)}>{asset.name}</button></li>);
}
});
outputArray.push(</ul>)
}
Was ist der Punkt, um sie in einer Reihe von Putten? Was versuchst du zu erreichen? –
Nur in Dom zu rendern. Brauchen nur die ul und li, um die Struktur zu behalten. –
Warum verwenden Sie nicht einfach reines JSX, um die ul darzustellen und innerhalb der Karte über das Array in li Elemente zu rendern? –