Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Object ReactJS-通过对象循环创建子组件_Object_Reactjs_Components - Fatal编程技术网

Object ReactJS-通过对象循环创建子组件

Object ReactJS-通过对象循环创建子组件,object,reactjs,components,Object,Reactjs,Components,我有父组件和子组件。我希望父级渲染具有对象中指定属性的多个子组件。我似乎无法使渲染函数中的循环工作 var Inputs = React.createClass({ propTypes: { type: React.PropTypes.string, xmltag: React.PropTypes.string, class: React.PropTypes.string }, getDefaultProps: function

我有父组件和子组件。我希望父级渲染具有对象中指定属性的多个子组件。我似乎无法使渲染函数中的循环工作

 var Inputs = React.createClass({
  propTypes: {
    type:      React.PropTypes.string,
    xmltag:      React.PropTypes.string,
    class:      React.PropTypes.string
  },
  getDefaultProps: function () {
    return { 
      type: ' text'
    };
  },
  render: function() {
    return (
      <div className={'form-element col-xs-6 col-sm-6 ' + this.props.class}>
        <label className="col-xs-12">{this.props.text}</label>
        <input className="col-xs-12" type={this.props.type} xmltag={this.props.xmltag}></input>
      </div>
      );
  },
});

 //OBJECT that needs to be rendered
 var formTags = {
  id: ["ID", "List ID", "text"],
  title: ["TITLE", "List Title", "text"],
  said: ["SAID", "SAID", "number"]
};

var InputList = React.createClass({
//PROBLEM STARTS HERE
  render: function() {
    for (var key in formTags) {
      return (
        //Not using everything from formTags
        <Inputs type="number" text={key}>
        );
    };
  },
 //PROBLEM ENDS HERE
});

ReactDOM.render(<InputList />, document.getElementById('mainForm'));
var Inputs=React.createClass({
道具类型:{
类型:React.PropTypes.string,
xmltag:React.PropTypes.string,
类:React.PropTypes.string
},
getDefaultProps:函数(){
返回{
键入:“文本”
};
},
render:function(){
返回(
{this.props.text}
);
},
});
//需要渲染的对象
var formTags={
id:[“id”、“列表id”、“文本”],
标题:[“标题”、“列表标题”、“文本”],
said:[“said”,“said”,“number”]
};
var InputList=React.createClass({
//问题从这里开始
render:function(){
for(formTags中的var键){
返回(
//没有使用formTags中的所有内容
);
};
},
//问题到此为止
});
ReactDOM.render(,document.getElementById('mainForm');

React组件必须只有一个根元素,现在您尝试渲染多个元素,添加一个根元素,如示例所示(您可以使用任何元素
等)

var InputList=React.createClass({
render:function(){
var inputs=Object.keys(this.props.tags).map(函数(键){
返回;
});
返回
{inputs}
;
}
});

var InputList = React.createClass({
  render: function() {
    var inputs = Object.keys(this.props.tags).map(function (key) {
       return <Inputs key={ key } type="number" text={ key } />;
    });

    return <div>
      { inputs }
    </div>;
  }
});