列表末尾的React Native FlatList onEndReached继续获取数据

时间:2020-09-28 18:37:50

标签: javascript reactjs react-native infinite-scroll

我有一种从api提取数据的方法,如下所示:

   const [data, setData] = useState([]);

   const fetchData = () => {
      const newData = [];
      callApi().then(data => {
         data.forEach(item => newData.push(item)
      }).then(() => {
         setData(newData);
      });
   }

每次到达列表末尾时,我都会调用此方法:

   <FlatList data={data} onEndReached={fetchData} onEndReachedThreshold={0.15} ... />

我的问题是,当到达列表的末尾(我的意思是,真正的末尾,没有更多的数据可提取)时,此方法将继续被调用。

任何想法如何解决?我曾想过要第一次调用api来检索每一项并获取总金额,但是我认为这会使我的另一种方法“ fetchData”变得愚蠢,因为在第一刻我将下载所有项目...但是这里的问题是,在api中可以检索100万个项目。

谢谢。

0 个答案:

没有答案