关于React Native App中评论数量的滞后问题

4bbkushb  于 2023-10-22  发布在  React
关注(0)|答案(1)|浏览(105)

我的屏幕正在接收评论一个接一个(每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]);
k5ifujac

k5ifujac1#

解决它。我应该使用React.memo和crashing stop。

用法:

我们应该用React.memo() Package 组件

export default React.memo(MyComponent);

相关问题