我想從使用和 包中隨機顯示一些新聞。我正在對它進行 fetch 呼叫:google rss news feedurlreact-native-url-preview
const [rssFeed, setRssFeed] = useState([]);
const [shouldFetch, setShouldFetch] = useState(true);
var feed = [];
if (shouldFetch) {
console.log("shouldFetch");
getFeed();
setShouldFetch(false);
}
function getFeed() {
console.log("getFeed: " shouldFetch);
fetch(
"https://news.google.com/rss/search?q=cars&hl=en-GB&gl=GB&ceid=GB:en"
)
.then((response) => response.text())
.then((responseData) => rssParser.parse(responseData))
.then((rss) => {
console.log(typeof rss.items);
let feedItems = rss.items;
feed = feedItems;
// @ts-ignore
setRssFeed(rss.items);
});
}
if (!shouldFetch) {
console.log(rssFeed);
var randomArr = [];
while (randomArr.length < 4) {
var r = Math.floor(Math.random() * 100);
if (randomArr.indexOf(r) === -1) randomArr.push(r);
// @ts-ignore
console.log(r " " rssFeed[r].links[0].url);
}
}
這只有時有效!
50% 的情況下我會收到錯誤:undefined is not an object (evaluating 'rssFeed[r].links'.
我認為這是因為重新加載react-native,這就是我放if支票的原因。但它并沒有解決它。有任何想法嗎?
uj5u.com熱心網友回復:
你可以使用可選鏈接 do rss?.items 你可以做這樣的可選鏈接,這意味著如果 rss 存在檢查 rss.item ,在你的情況下做 'rssFeed?.[r]?.links'。
有時你會得到未定義的錯誤,因為 ui 在實際資料出現之前被渲染
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/347515.html
上一篇:在Android中拍照后驗證按鈕
