我正在尝试按属性过滤对象,但无法使其工作。
对象中的数据结构如下:
我通过 UID 获取数据,然后映射该对象中的所有项目,但我无法使过滤器工作。
渲染方法如下所示:
render() {
return(
<div>
{Object.keys(this.state.dataGoal)
.filter(key => key.main == true)
.map( (key, index) => {
return <div key={key}>
<h1>{this.state.dataGoal[key].name}</h1>
<p>{this.state.dataGoal[key].main}</p>
</div>
})}
</div>
有什么想法我做错了吗?
谢谢你的帮助,
雅库布
假如说this.state.dataGoal
是来自发布的目标数组的对象,那么您的过滤器是错误的。应该:
{Object.keys(this.state.dataGoal)
.filter(key => this.state.dataGoal[key].main === true)
.map((key, index) => {
return <div key={key}>
<h1>{this.state.dataGoal[key].name}</h1>
<p>{this.state.dataGoal[key].main}</p>
</div>
})}
请注意,现在是.filter(key => this.state.dataGoal[key].main === true)
因为 key 是字符串,比如Khasdfasdfasdfasdfads
并且您想要访问goal
通过此键来检查其对象main
财产。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)