Я пытаюсь динамически отображать компоненты на основе их типа.
Например:
var type = "Example";
var ComponentName = type + "Component";
return <ComponentName />;
// Returns <examplecomponent /> instead of <ExampleComponent />
Я попробовал предлагаемое здесь решение Динамические имена компонентов React/JSX
Это дало мне ошибку при компиляции (используя браузер для gulp). Он ожидал XML, где я использовал синтаксис массива.
Я мог бы решить это, создав метод для каждого компонента:
newExampleComponent() {
return <ExampleComponent />;
}
newComponent(type) {
return this["new" + type + "Component"]();
}
Но это будет означать новый метод для каждого компонента, который я создаю. Должно быть более элегантное решение этой проблемы.
Я очень открыт для предложений.