我的屏幕正在接收评论一个接一个(每1秒)。在最初的几个注解中,它不会滞后,但是随着添加的注解数量的增加,我的应用程序开始滞后,最终,它几乎冻结。这个问题与我从API获取的图像和名称无关,因为即使我仅从JSON文件添加注解,它也会滞后
我用FlatList做了各种调整,但它不起作用。我有这个组件,我在App.js中用scrollView Package 它,它会自动滚动。我关闭了scrollView,当我直接在屏幕上显示它时,会有滞后。所以,这个问题完全与屏幕上的评论数量有关。
seEffect(() => {
const getData = async () => {
try {
let apiUrl = `https://randomuser.me/api/?results=60&nat=${language}`
let jsonData
if (language === "tr") {
jsonData = require(`./languages/commentstr.json`);
}
else {
jsonData = require(`./languages/commentsus.json`);
}
const res = await axios.get(apiUrl);
setResults(res.data.results);
const userCount = res.data.results.length;
const commentCount = jsonData.length;
let randomComments = [];
for (let i = 0; i < userCount; i++) {
const commentIndex = i % commentCount;
randomComments.push(jsonData[commentIndex].text);
}
setComments(randomComments);
const interval = setInterval(() => {
if (currentIndex < userCount) {
setCurrentIndex((prevIndex) => prevIndex + 1);
} else {
clearInterval(interval);
}
}, 1000);
} catch (error) {
console.log("hata var:", error);
}
};
getData();
}, [language]);
1条答案
按热度按时间k5ifujac1#
解决它。我应该使用React.memo和crashing stop。
用法:
我们应该用
React.memo()
Package 组件