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.

Antworten auf die Frage(16)

Ihre Antwort auf die Frage