在React组件中传递一个数组
Pass an array through a React component
尽量保持简单。
我有一些数据。它包含一个对象列表,我们称之为items
。我遍历items
,并将各种属性传递给组件,如下所示:
render: function(){
var itemList = [];
items.forEach(function(item){
itemList.push(<Component name={item.name} tags={item.tags} />)
})
return(
<ul id="item-list">
{itemList}
</ul>
)
}
所以这里的问题是item.tags
是一个数组。在我的组件中,我只是做了一些简单的事情,比如显示名称,然后循环遍历标签来显示它们:
render: function(){
var tags = [];
this.props.tags.forEach(function(tag){
tags.push( <li>{tag}</li> />)
})
return(
<li>
<h1>{this.props.name}</h1>
<ul>
{tags}
</ul>
</li>
)
}
在组件中,标签是未定义的。
我做了什么/我做错了,因为我是React的新手。谢谢!
可能需要更多的代码来帮助。
如果你的Component
类被给予tags
prop, this.props.tags
将始终是对它的引用。
是否有机会你正在做一些有趣的事情,如cloneWithProps
,或使用动态<Component/>
类?
您可以尝试将item
作为prop
传入,并在组件中取出标签。
<Component item={item}/>
这将使您更容易看到为什么tags
不可用
相关文章:
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 根据id将json数组组合为一个json数组
- JavaScript数组包含一个值
- 对一个对象使用reduce可以返回一个没有't在数组中包含目标字母
- jQuery$.inArray()总是返回-1和一个对象数组
- 在数组中的一个元素上设置多个值
- javascript处理一个对象数组以获得一个新的对象数组
- 作为一个二维数组,从ajax接收
- 你能用来自数组的属性名称生成一个对象吗
- 多维关联数组的最后一个索引
- 如何创建一个方法来验证数组的范围
- 循环以检查数组中的最后一个图像
- 在Javascript中将一个值和字符串数组转换为if语句
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 如何将一个对象添加到每个对象数组中
- 如何创建一个谷歌地图地理坐标数组
- 如何从另一个带下划线的数组中筛选带元素的数组
- 如何在PHP数组中加载下一个youtube
- 查找对象数组是否包含其中一个标记的最快方法
- 如何使用Javascript和Ajax传递一个HTML选择标签到PHP $_POST与一个(数组)var当名称属性是一个