react 下拉刷新和上拉加载更多

react 下拉刷新和上拉加载更多

场景:

记录总条数:100条

每页显示10条

策略:

下拉刷新时,永远只查询第一页,即start 总是从0开始.

第一次下拉,start为0,

第二次下拉,start仍然为0.

 

上拉时,start 为当前显示的总条数.

第一次上拉,start为10,

第二次上拉,start为20,

第三次上拉,start为30,

即,上拉时不会修改已经显示的记录,只是在原有基础上增加

 

实际案例

下拉刷新:



 

上拉加载更多

 

总结:下拉是全量更新;上拉是增量更新

实际案例:

 <RefreshWrapper ref="scrollDiv"
                    refreshHandler={this.onRefresh.bind(this)}
                    moreHandler={this.onLoadMore.bind(this)}
                    scrollHandler={throttle(this.scrollHandler,300,500).bind(this)}
                >
                    {content}
                   
                </RefreshWrapper>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下拉刷新和上加载更多是移动开发中常用的交互方式,可以提高用户体验。在使用 React Native 进行开发时,可以使用第三方库 `react-native-refreshable-listview` 来实现这个功能。 下面是使用 `react-native-refreshable-listview` 实现下拉刷新和上加载更多的代码示例: ```jsx import React, { useState, useEffect } from 'react'; import { RefreshableListView } from 'react-native-refreshable-listview'; import { View, Text } from 'react-native'; const App = () => { const [data, setData] = useState([]); const [isLoading, setIsLoading] = useState(false); const fetchData = () => { setIsLoading(true); // 发起网络请求获取数据 // ... // 获取数据后更新状态 setData([...data, ...newData]); setIsLoading(false); }; useEffect(() => { fetchData(); }, []); const renderRow = (rowData) => { return ( <View> <Text>{rowData}</Text> </View> ); }; return ( <RefreshableListView data={data} renderRow={renderRow} isRefreshing={isLoading} onRefresh={fetchData} onLoadMore={fetchData} paginationWaitingView={() => <Text>Loading...</Text>} /> ); }; export default App; ``` 在这个示例中,我们使用了 `useState` 和 `useEffect` 来管理组件状态和副作用。`fetchData` 函数用于发起网络请求获取数据,并更新组件状态。`renderRow` 函数用于渲染数据。`RefreshableListView` 组件用于实现下拉刷新和上加载更多。其中,`isRefreshing` 和 `onRefresh` 属性用于控制下拉刷新,`onLoadMore` 属性用于控制上加载更多。`paginationWaitingView` 属性用于设置上加载更多时的等待状态。 这样,我们就完成了使用 `react-native-refreshable-listview` 实现下拉刷新和上加载更多的示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值