使用类名动态插入反应组件

时间:2015-11-30 17:35:49

标签: reactjs react-jsx

给定一个反应类名称数组,我想使用该类名创建一个组件。

我试过了:

React.createElement(name); 

但是得到了一个带有名字的HTML元素(例如:<MyReactClass/>),但不是我需要的实际反应组件。

1 个答案:

答案 0 :(得分:3)

您需要将名称映射到实际的类,如@Felix Kling所述。有几种方法可以做到这一点。一种方式:

var classes = {
  "name1": require('./Class1'),
  "name2": require('./Class2'),
  ...
};

...
React.createElement(classes[name]);