我一直收到此TypeError: undefined is not an object (evaluating 'rss.items[i].title')
错误。但是,当我运行console.log(this.state.feed)
时,它可以正常工作。谁能指出我做错了什么?
state = {
feed: {}
}
fetchRSSFeed() {
return fetch('http://www.nasa.gov/rss/dyn/breaking_news.rss')
.then((response) => response.text())
.then((responseData) => rssparser.parse(responseData))
.then((rss) => {
for(let i = 0; i < 5; i++) {
this.setState(prevState => ({
...prevState,feed: rss.items[i].title
}))
})
}
}
render() {
{this.fetchRSSFeed()}
// console.log(this.state.feed); // Console log here works. It logs out all the feed title
MyStories = [{
pic: require('../assets/images/news.jpg'),title: Object.keys(this.state.feed).map(k => this.state.feed[k]),caption: 'caption'
}]
return (
<SafeAreaView style={styles.container}>
<Swiper
cards={MyStories}
renderCard={Card}
infinite
backgroundColor="white"
cardHorizontalMargin={0}
stackSize={2}
/>
</SafeAreaView>
)
}
}