因为这是我在对象中所做的,但是它不起作用。 如何通过循环获取“关键”字段?
<div>
<ul>
{tickets && tickets.issues && Object.keys(tickets.issues).map((issue, i) =>
(
<li key={i}>
Issue number: {tickets.issues.key}
</li>
))}
</ul>
</div>
解决方案
<div>
<ul>
{this.state.tickets && this.state.tickets.issues && Object.keys(this.state.tickets.issues).map((issue, i) =>
(
<li key={i}>
Issue number: {this.state.tickets.issues[i].key}
</li>
))}
</ul>
</div>
答案 0 :(得分:3)
查看您的响应图像,关键字段存在于issues []中,但不存在于字段中,因此它应该很好(不需要嵌套):
{ Object.keys(tickets.issues).map((issue, i) => (
<li key={issue.key}>
Issue number: {issue.key}
</li>
))}
如果您在字段中输入了密钥(未在图片中展开)
{ Object.keys(tickets.issues).map((issue, i) => (
Object.keys(issue.fields).map(field=>(
<li key={field.key}>
Issue number: { field.key }
</li>
)
))}
答案 1 :(得分:2)
tickets.issues
是一个对象数组,因此:
const { issues } = tickets;
issues.map(issue => console.log(issue.key));
答案 2 :(得分:1)
一个简单的解决方案
<div>
<ul>
{tickets && tickets.issues && Object.keys(tickets.issues).map((issue, i) =>
(
<li key={i}>
Issue number: {tickets.issues.key}
</li>
))}
</ul>
</div>