【发布时间】:2016-03-17 23:05:12
【问题描述】:
我的用户配置文件中有几十个字段,我正在尝试构建一种有效的方法来在适当的输入表单组件中显示它们。
例如,个人资料可能如下所示:
profile1={
name: 'Cornelius Talmadge',
phone: '1'
}
如果我可以像这样堆叠组件...
export const FieldCatalogue = {
name: <TextField defaultValue={this.state.userProfile.name} label={"Name"} />
}
...那么我可以这样做:
for (let field in Object.keys(profile1)) {
return FieldCatalogue[field]
}
这将是超级酷。
This question 有一个很好的答案,如果我的输入组件都是通过正常语法构造的(例如,Component = React.createClass({..})),但是:
一个。这是很多样板
b.我必须将大量道具传递给每个人,这不是最佳的
对我来说,理想的情况基本上是将输入组件几乎作为字符串传递,这样它们就会落入它们所呈现的任何父组件的范围(状态、道具等)。
这可能和/或可取吗?
【问题讨论】: