React / JSX Name der dynamischen Komponente

Ich versuche, dynamisch zu Rendern-Komponenten, die basierend auf Ihrem Typ.

Beispiel:

var type = "Example";
var ComponentName = type + "Component";
return <ComponentName />; 
//Returns <examplecomponent />  instead of <ExampleComponent />

Habe ich versucht, den hier vorgeschlagenen Lösung Reagieren/JSX dynamische Komponente-Namen

Dass mir ein Fehler beim kompilieren (mit browserify für gulp). Es erwartet XML, wo ich war, mit einem array-syntax.

Konnte ich dies lösen, indem Sie die Schaffung einer Methode für jede Komponente:

newExampleComponent() {
    return <ExampleComponent />;
}

newComponent(type) {
    return this["new" + type + "Component"]();
}

Aber das würde bedeuten, dass eine neue Methode für jede Komponente, die ich erstellen. Es muss eine elegantere Lösung für dieses problem.

Bin ich sehr offen für Vorschläge.

InformationsquelleAutor der Frage Sam | 2015-04-26

Schreibe einen Kommentar