node.js - React Native - 滑动以刷新容器和FlatList时的无限循环
问题描述
我遇到问题,请查看我的代码:
...
...
async onRefresh() {
this.setState({ loadingFlatList: true });
Alert.alert(
'Error',
"Refresheeeedd ....",
[
{text: 'OK', onPress: () => null },
],
{cancelable: false}
)
}
<Content refreshControl={<RefreshControl refreshing={this.state.loadingFlatList} onRefresh={this.onRefresh()} />} padder style={{backgroundColor: 'red'}} >
<Loader
loading={this.state.loading} />
<FlatList
data={this.state.listViewData}
// data={[{key: '1'}, {key: '2'}, {key: '3'}, {key: '4'}, {key: '5'}]}
// contentContainerStyle={customers.length === 0 && styles.centerEmptySet}
renderItem={({item}) =>
...
...
当我运行上面的代码时。它显示 onRefresh 函数的多次警报(永不结束)。如何解决?
解决方案
this.onRefresh
您在定义组件时正在调用<RefreshControl
。
<Content refreshControl={<RefreshControl ... onRefresh={this.onRefresh()} />} ... />
相反,传递函数的引用
<Content refreshControl={<RefreshControl ... onRefresh={this.onRefresh} />} ... />
尝试上述更改,希望这会有所帮助!
推荐阅读
- android - 如何从 Firebase 消息服务类调用 MainActivity 类中的方法?
- android - 构建失败并出现“com.android.tools.r8.utils.AbortException:错误:程序类型已存在:com.google.firebase.FirebaseApp”
- python - 如何查找单词 - 第一个字母大写,其他小写
- django - 如何第一次使用外键创建 django 超级用户
- algorithm - 如何找到图像处理算法的计算复杂度
- php - 如何使用 PHP 从索引页表中下载多个文件?
- mariadb - Symfony 3.4.6 - 10.1.37-MariaDB-0+deb9u1 - 索引列太大
- javafx - javafx中如何设置choiceBox项目列表的宽度
- php - 仅显示 60 个单词,数据库有 100 个单词
- c# - System.NotSupportedException: 'Store 没有实现 IQueryableUserStore
.':获取用户列表(自定义身份:JSON 文件)