我想要在我的滚动视图中显示交易列表,但是当用户滚动它直到结束时,另一个请求将开始并在我的视图中添加另一个页面的交易。我该怎么做
这是我的解雇请求,正在获取交易的第一页
let { data } = await client.get('/coins/2/transactions');
let transactions = {};
transactions = data.map(e => {
return {
address: e.address,
amount: e.amount,
blockhash: e.blockhash,
confirmations: e.confirmations,
status: e.status,
timestamp: e.timestamp,
txid: e.txid
};
})
this.setState({ transactions });
}
然后我添加了另一个功能,即获取下一页。
async getNextCursor(cursor){
let {data} = await client.get('/coins/2/transaction/?cursor=' + cursor)
let transactions = {};
transactions = data.map(e => {
return {
address: e.address,
amount: e.amount,
blockhash: e.blockhash,
confirmations: e.confirmations,
status: e.status,
timestamp: e.timestamp,
txid: e.txid
};
})
return transactions
}
当滚动结束时如何运行此请求,并获得其他交易并添加到我的交易状态中也显示它?
注意:我的请求给了我has_more(bool)和next_cursor(int)属性
答案 0 :(得分:0)
这是一个粗略的代码示例
<ScrollView
scrollEventThrottle={16}
onScroll={handlePagination}
/>
使用功能将数据切换到特定点,
handlePagination=(event)=>{
const currentY = event.nativeEvent.contentOffset.y
if(currentY==BOTTOM){
const data = this.getNextCursor();
this.setState({ data });
}
}
底部是您要切换数据时的高度变量。