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

大多数情况下,它没有错误运行,但是有时,它根本不运行并显示:我如何解决TypeError:undefined不是对象(评估'rss.items [0] .title ')

这是我的代码,我使用 double[] swap = table[0]; table[0] = table[1]; table[1] = swap; https://www.npmjs.com/package/react-native-rss-parser)来解析我的rss feed:

react-native-rss-parser

UPDATE

Console.log(rss)结果(它确实包含项目):

class HomeScreen extends React.Component {
  state = {
    feed: [],title0: [],title1: []
  };

  componentDidmount() {
    return fetch("https://vnexpress.net/rss/tin-moi-nhat.rss")
      .then(response => response.text())
      .then(responseData => rssparser.parse(responseData))
      .then(rss => {
        this.setState(prevState => ({
          ...prevState,feed: rss,title0: rss.items[0].title,title1: rss.items[1].title
        }));
      });
  }

  render() {
    const Feeds = shuffleArray([
      {
        pic: require("../assets/images/image.jpg"),title: Object.keys(this.state.title0).map(k => this.state.title0[k]),caption: "caption"
      },{
        pic: require("../assets/images/image.jpg"),title: Object.keys(this.state.title1).map(k => this.state.title1[k]),caption: "caption"
      }
    ]);

    return (
      <SafeAreaView>
        <Swiper
          cards={Feeds}
          renderCard={Card}
          infinite 
          backgroundColor="white"
          cardHorizontalMargin={0}
          stackSize={2} 
        />
      </SafeAreaView>
    );
  }
}

const Card = ({ pic,title,caption }) => (
  <Tile
    imageSrc={pic}
    activeOpacity={1}
    title={title}
    caption={caption}
    featured
    key={title}
  />
);

export default HomeScreen;
RENXIAODUO87 回答:如何解决TypeError:undefined不是对象(评估'rss.items [0] .title')

您无法访问rss.items [0] .title,因为rss.items [0]未定义 只需添加一个类似的检查,然后再尝试获取标题

 componentDidMount() {
    return fetch("https://vnexpress.net/rss/tin-moi-nhat.rss")
      .then(response => response.text())
      .then(responseData => rssParser.parse(responseData))
      .then(rss => {
        this.setState(prevState => ({
          ...prevState,feed: rss,title0: rss.items[0]? rss.items[0].title:'',title1: rss.items[1]? rss.items[1].title:''
        }));
      });
  }
本文链接:https://www.f2er.com/3002593.html

大家都在问