我有一种从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万个项目。
谢谢。