node.js - 试图在对象中打印数组,但不工作(reactjs)
问题描述
我正在尝试在此对象中打印数组:
但是,这段代码不起作用:
{templates.map(item => { return <li>{item[0]}</li>; })}
解决方案
查看您正在使用的代码:item[0]
,看起来您认为item
是一个数组,并且您正在尝试获取数组中第一个元素的值。但是,查看对象,您可以看到它templates
包含对象,而不是数组。所以,item[0]
是未定义的。
这就引出了一个问题,当您说要“打印数组”时,您是什么意思?是否要打印代表每个对象的 JSON 字符串?
templates.map(item => <li>{JSON.stringify(item)}</li>)
或者您想在对象上打印唯一属性的值?
templates.map(item => <li>{item.Template_id}</li>)
这是一个工作示例,它打印数组Template_id
中每个项目的属性:templates
const obj = {
name: "After_Effects",
templates: [
{ Template_id: "601071694b0146303c10d68c" },
{ Template_id: "601072e04b0146303c10d68d" },
{ Template_id: "601073114b0146303c10d68e" },
],
__v: 0,
_id: "60106addf83a155344bf3edb",
};
const listItems = obj.templates.map(item => <li>{item.Template_id}</li>);
ReactDOM.render(<ul>{listItems}</ul>, document.querySelector("main"));
li {
list-style-type: none;
font-family: monospace;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<main></main>
推荐阅读
- python - 为什么 -1 / 2 == -1 在 Ruby 和 Python 中?
- php - PHP文件上传MAX_FILE_SIZE参数没有做它应该做的事情?
- python - Python SocketServer 错误:TypeError:需要一个类似字节的对象,而不是“str”
- r - 打破 lapply 空白文件 R
- hugo - Hugo - 如何覆盖指向内容文件夹 html 的链接
- angular - 如何以从函数返回的角度显示对象
- r - 我可以在 dplyr 中复制以下内容吗?
- azure - 用于第 3 方的 Azure 逻辑应用连接器
- ios - 如何在 SwiftUI 中通过 ViewModel 传播模型更改?
- blazor - 如何在 Blazor 中单击按钮时呈现组件?