javascript - 在数组reactjs中查找元素
问题描述
constructor(props) {
super(props);
this.state = {
number: [{
id : 10,
},
{
id: 20,
}
]
}
...
render() {
const { number } = this.state;
return (
{number.map(numbers => (
<div>
{numbers[1]}
</div>
))}
)
}
...
{numbers[1]}
不工作。我想在屏幕上看到 20。我查看了 https://reactjs.org/docs/lists-and-keys.html但找不到解决方案。我该如何解决。谢谢你。
解决方案
numbers[1]
无效,因为 numbers 将是一个对象,{id: 20}
而您想要渲染对象的 id,您将首先过滤您希望使用的对象,然后映射和渲染
render() {
const { number } = this.state;
return (
{number.filter(data => {
return data.id == 20; // any condition here
}).map(numbers => (
<div>
{numbers.id}
</div>
))}
)
}
如果您只想访问单个元素,您只需编写
render() {
const { number } = this.state;
return (
<div>
{number[1].id}
</div>
)
}
推荐阅读
- asp.net - MVC 5 到同一个控制器的多个路由
- variables - 如何在 wix 中管理不同网页之间的全局变量?
- angular - Visual Studio 2017 和角度集成
- git - 错误:未能将一些引用推送到“URL”Git Bash 错误未解决
- javascript - 使用动态 HTML 包装 Razor 页面
- google-tag-manager - GTM-在预览模式下未填充数据层
- android - 运行 ionic cordova emulate android 时,Android Studio AVD 未显示在终端中
- java - 通过注释快速添加日志记录(例如用于 getter/setter 的 lombok) - 有没有可用的解决方案?
- amcharts - amcharts4 ColumnSeries 固定宽度
- c# - 如何使用 .net 核心的 ILoggerFactory 写入自定义事件源?有没有办法指定来源?