javascript - TypeError:无法读取未定义的属性“textContent”
问题描述
我收到此错误:
TypeError: Cannot read property 'textContent' of undefined
我知道 for 循环在responseDocument
is still时执行undefined
。我怎么解决这个问题?
export default class App extends Component {
constructor() {
super();
this.state = {
newsFeed: {
number: null,
date: null,
news: null,
},
};
}
fetchRssFeed() {
const proxyUrl = 'https://cors-anywhere.herokuapp.com/';
const funkyGamesRssFeed = 'https://funkygames.de/rss.xml';
const request = new Request(proxyUrl + funkyGamesRssFeed);
return fetch(request).then((results) => {
results
.text()
.then((str) => {
let responseDocument = new DOMParser().parseFromString(str, 'application/xml');
const newsItems = responseDocument.getElementsByTagName('item');
let newsFeed = {
number: newsItems.length,
date: new Date(),
news: [],
};
for (let i = 1; i < newsItems.length; i++) {
let article = new Article();
article.title = responseDocument.getElementsByTagName('title')[i].textContent;
newsFeed.news.push(article);
}
}).catch((error) => console.log(error));
});
}
componentDidMount() {
this.fetchRssFeed().catch(e => console.log(e.message));
}
解决方案
当我这样做时,它对我有用:
for (let i = 1; i < newsItems.length; i++) {
let article = new Article(
responseDocument.getElementsByTagName('title')[i].textContent,
);
newsFeed.news.push(article);
}
推荐阅读
- java - 无法在 android 中编译 opengl 片段着色器 - 错误:0:7:'gl_GlobalInvocationID':未声明的标识符
- symfony - 抑制日志中的“保存密钥失败”警告消息
- php - 无法在表单验证中使用函数回调访问与您的字段名称对应的错误消息
- jquery - 向下滚动网站时降低导航栏高度
- javascript - 未选中 runtime.lastError: 无法建立连接。接收端不存在。使用消息传递 API 时
- http - 如何通过代理进行 HTTP/HTTPS GET
- android - react-native run-android 在 android-studio 模拟器上遇到白色显示,写着“从 10.0.2.2.8081 加载”
- python - Mobilenet 用坐标检测图像中的多个类
- python - 如何在 while 循环中附加列表而不覆盖以前的结果
- batch-file - 用户输入文本时批处理文件不断崩溃