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>;
}
});