React / JSX Dynamic Component Name
Ich versuche, Komponenten basierend auf ihrem Typ dynamisch zu rendern.
Beispielsweise
var type = "Example";
var ComponentName = type + "Component";
return <ComponentName />;
// Returns <examplecomponent /> instead of <ExampleComponent />
Ich habe die hier vorgeschlagene Lösung ausprobiert Dynamische Komponentennamen von React / JSX
Das gab mir einen Fehler beim Kompilieren (mit browserify für gulp). Es erwartete XML, wo ich eine Array-Syntax verwendete.
Ich könnte das lösen, indem ich für jede Komponente eine Methode erstelle:
newExampleComponent() {
return <ExampleComponent />;
}
newComponent(type) {
return this["new" + type + "Component"]();
}
Aber das würde eine neue Methode für jede Komponente bedeuten, die ich erstelle. Es muss eine elegantere Lösung für dieses Problem geben.
Ich bin sehr offen für Vorschläge.