我正在尝试根据组件的类型动态呈现组件。
例如:
var type = "Example";
var ComponentName = type + "Component";
return <ComponentName />;
// Returns <examplecomponent /> instead of <ExampleComponent />
我尝试了这里提出的解决方案React / JSX动态组件名称
那给我一个编译时的错误(使用browserify进行gulp)。我使用数组语法的地方应该是XML。
我可以通过为每个组件创建一个方法来解决此问题:
newExampleComponent() {
return <ExampleComponent />;
}
newComponent(type) {
return this["new" + type + "Component"]();
}
但这将意味着为我创建的每个组件提供一种新方法。必须对此问题有一个更优雅的解决方案。
我很乐意提出建议。
我使用了一些不同的方法,因为我们一直都知道我们的实际组件,因此我认为应该使用开关盒。在我的情况下,组件总数也不超过7-8。