【发布时间】:2019-03-15 22:03:56
【问题描述】:
我对 react 和 javascript 还很陌生,我想知道如何在另一个列表中迭代一个列表。
我有这个 json 变量:
this.state = {
groups: [{
name: '',
permission: [{
name: ''
}]
}]
}
我想要做的是计算第二个列表的元素数量,我执行了以下代码,但它发送了以下错误,groups.map 不是函数:
渲染() {
let permissionGroup = this.state.groups.map((groups) => {
let x = 0;
groups.map((permission) => {
x++;
})
})
return (
<div>
{this.state.groups.map((groups) => {
return (<li key={groups.code}>
<Card style={{ width: '20rem' }}>
<Card.Body>
<Card.Title>{groups.name}</Card.Title>
<Card.Subtitle className="mb-2 text- enter code heremuted">Permissions info</Card.Subtitle>
<Card.Text>
This group has {permissionGroup} permissions in it.
</Card.Text>
<Card.Link href="#">Add Permission</Card.Link>
<Card.Link href="#">Remove Permission</Card.Link>
</Card.Body>
</Card>
</li>)
})}
</div>
【问题讨论】:
-
您确定您的状态最初设置为数组吗?也许它是通过异步调用之后设置的。
.map()绝对是数组上的一个函数。出现此错误的唯一方法是状态尚未初始化,或者已被非数组覆盖。 -
我觉得这里解释的很好stackoverflow.com/questions/31676135/…
标签: javascript reactjs