如何解决TypeError:undefined不是对象(评估'rss.items [i] .title')?

我一直收到此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>
      )
    }
  }
liulinawoaini 回答:如何解决TypeError:undefined不是对象(评估'rss.items [i] .title')?

 componentDidMount() {
     this.fetchRSSFeed()
   }
  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() {
   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>
  )
  }
}
本文链接:https://www.f2er.com/3012659.html

大家都在问