我试图找出如何通过api调用映射存储在我的状态中的对象数组。
我的状态对象:
state = {
isLoading: false,
event: []
};
我的渲染功能:
{this.state.event.musicStyle.map((style, index) => {
return <Text>{style}</Text>;
})}
错误消息:
TypeError: Cannot read property of 'map' of undefined
我在这里做错了什么?任何帮助都非常感谢。
答案 0 :(得分:3)
this.state.event
是一个数组,因此this.state.event.musicStyle
将始终未定义...
你想要的是
componentDidMount() {
return fetch(callToApi)
.then(result => result.json())
.then(result => this.setState({event: result})
}
render() {
return (
{this.state.event.map((event) => {
event.musicStyle.map((style) => {
return <Text>{style}</Text>;
})
})}
)
}