当我尝试在React with Redux中将输入引用为数组时,我遇到了一些问题。
下面的代码在数组中为每篇文章映射一个Panel。
var articles = this.props.item.array.articles.map((article, index) => {
return <Panel key={index} header={'Article ' + index}>
<Input type='select' ref='id' label='Article' defaultValue={article.id} >
{articles}
</Input>
</Panel>
})
我正在尝试构造refs,以便它们采用数组格式,目前似乎不可能。 Array of references. #1899
我想我可以通过创建某种ref="article["+counter+"][id]"
但这是一个可怕的解决方案,我真的不想走那条路。
下面的json数组将是我想要的refs格式:
"articles": [
{
"_joinData": {
"price": "100",
"quantity": "50"
},
"id": "05f54207-fb6f-40b5-820e-26059a803343"
},
{
"_joinData": {
"price": "200",
"quantity": "70"
},
"id": "05f54207-fb6f-40b5-820e-26059a803343"
}
]
价格&amp;数量指数将是另外两个输入。
我决定不在代码示例中添加。
非常感谢这个问题的一个很好的解决方案。
答案 0 :(得分:2)
我相信您可以使用this.refs
像数组一样遍历Object.keys
。
实施例。 Object.keys(this.refs).forEach(key => func(this.refs[key]))
为每个参考运行func
函数。