首页 > 解决方案 > 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 函数的多次警报(永不结束)。如何解决?

标签: node.jsreact-nativenative-base

解决方案


this.onRefresh您在定义组件时正在调用<RefreshControl

<Content refreshControl={<RefreshControl ... onRefresh={this.onRefresh()} />} ... />

相反,传递函数的引用

<Content refreshControl={<RefreshControl ... onRefresh={this.onRefresh} />} ... />

尝试上述更改,希望这会有所帮助!


推荐阅读