ReactNative Flatlist onEndReached 不起作用 [英] ReactNative Flatlist onEndReached not working
本文介绍了ReactNative Flatlist onEndReached 不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图在 FlatList 的 onEndReached
上调用一个函数,但它不起作用.
Im trying to call a function on onEndReached
of a FlatList but it's not working.
我在最后调用 this.state.pageNo
并且它没有更新.我想稍后在无限滚动中使用此逻辑,但现在无法使其正常工作.
I'm calling the this.state.pageNo
at the end and it's not updating. I want to use this logic later in infinite scroll but not able to get it working now.
import React, { Component } from "react";
import {
View,
Text,
StyleSheet,
Button,
TouchableOpacity,
FlatList,
Alert
} from "react-native";
class InfiniteScrollRedux extends Component {
constructor(props) {
super(props);
this.state = {
loading: false,
pageNo: 1,
data: [
{ id: 1, name: "Name01" },
{ id: 2, name: "Name02" },
{ id: 3, name: "Name03" },
{ id: 4, name: "Name04" },
{ id: 5, name: "Name05" },
{ id: 6, name: "Name06" }
]
};
}
myFunction = () => {
this.setState({ pageNo: this.state.pageNo++ });
};
render() {
return (
<View>
<FlatList
data={this.state.data}
renderItem={({ item }) => (
<View style={mystyle.mainCard}>
<Text style={mystyle.titleText}> {item.id} </Text>
<View style={{ marginTop: 200 }} />
<Text style={mystyle.nameText}> {item.name} </Text>
</View>
)}
keyExtractor={item => item.id}
onEndReached={this.myFunction}
onEndThreshold={0}
/>
<Text style={{ margin: 20, padding: 20, fontSize: 20 }}>
{this.state.pageNo}
</Text>
</View>
);
}
}
const mystyle = StyleSheet.create({
mainCard: {
backgroundColor: "#2F4F4F",
marginBottom: 1,
padding: 5
},
titleText: {
fontSize: 20,
color: "#F0FFFF"
},
nameText: {
fontSize: 14,
color: "#F0FFFF"
}
});
export default InfiniteScrollRedux;
推荐答案
你在 FlatList 中寻找的属性是 onEndReachedThreshold 而不是 onEndThreshold.
The property you are looking for in FlatList is onEndReachedThreshold instead of onEndThreshold.
这篇关于ReactNative Flatlist onEndReached 不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文