我需要通过反应来添加组件:
<componentName ..... />
但是,组件的名称是未知的并且来自变量。 我怎么渲染呢?
答案 0 :(得分:6)
答案 1 :(得分:2)
您可以创建导出所有不同组件的文件
// Components.js
export Foo from './Foo'
export Bar from './Bar'
然后全部导入
import * as Components from './Components'
然后你可以根据变量/ prop来动态创建它们:
render() {
// this.props.type = 'Foo'
// renders a Foo component
const Component = Components[this.props.type];
return Component && <Component />;
}
答案 2 :(得分:0)
Okay, for me this worked:
import {Hello} from 'ui-hello-world';
let components = {};
components['Hello'] = Hello;
export default components;
然后在我班上: 从&#39; ..... json&#39;中导入customComps; .... 让Component = Custom.default [customComps.componentName];
return (
<Component