In einer einfachen Komponente habe ich ein Array von untergeordneten Komponenten. Im Eltern state
(unter anderem), halte ich ein Array von Objekten und in der render
Funktion konstruieren ich die untergeordneten Komponenten wie:Generiert Komponenten in render effizient?
const children = [];
let i = 1;
for(let child of this.state.children){
children.push(<Decoration key={i++} {...child} />);
}
return (
<div>{children} {this.state.something_else}</div>
);
Das Problem ist, dass, wenn ich einige andere Zustandswerte ändern, die Funktion machen der Kind Komponente wird aufgerufen, was seltsam ist, da ich nichts in der children
Array ändern. Irgendwelche Ideen? Ist dieser Code ineffizient?
Gibt es einen Grund, warum Sie die temporäre Variable 'children' verwenden, anstatt das Ergebnis direkt zurückzugeben? – Chris
Nein, aber ehrlich gesagt kann ich das Array nicht direkt von JSX aus durchlaufen. –
Verwenden Sie 'map'. Also einfach '