当用户滚动到结束时,如何对滚动视图进行分页?

时间:2019-09-11 13:44:25

标签: javascript reactjs react-native scrollview

我想要在我的滚动视图中显示交易列表,但是当用户滚动它直到结束时,另一个请求将开始并在我的视图中添加另一个页面的交易。我该怎么做

这是我的解雇请求,正在获取交易的第一页

        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)属性

1 个答案:

答案 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 });
 }

}

底部是您要切换数据时的高度变量。