【发布时间】:2018-04-09 17:24:00
【问题描述】:
我试图弄清楚如何通过 api 调用映射存储在我的状态中的对象数组。
我的状态对象:
state = {
isLoading: false,
event: []
};
我的渲染函数:
{this.state.event.musicStyle.map((style, index) => {
return <Text>{style}</Text>;
})}
错误信息:
TypeError: Cannot read property of 'map' of undefined
我在这里做错了什么?非常感谢任何帮助。
【问题讨论】:
-
我认为这个问题是因为它第一次渲染时,
this.state.event的值仍然是空的(不完全是空的,因为你一开始设置为一个空数组)所以访问this.state.event.musicStyle将给出一个错误。我认为您需要更改以将event初始化为null,然后检查event是否为not null,然后您可以执行map。 -
这部分正确,但主要问题是
this.state.event是一个数组,因此this.state.event.musicStyle将始终未定义。在javascript中访问数组索引的方式是<array>[position in array]
标签: reactjs react-native