【发布时间】:2018-12-14 22:42:20
【问题描述】:
从 GraphQL 服务器添加数据时,我的 FlatList 没有更新。我已经尝试过刷新和onRefresh,但我不太确定我将如何实现它,希望有人可以帮助我。
<View>
<Query query={GET_ALL_RECIPES}>
{({loading, data, error}) => (
loading
? <ActivityIndicator />
: (
<FlatList
keyExtractor={(item) => item.id}
extraData={this.state}
data = {data ? data.allRecipes : []}
renderItem = {({item})=>(
<TouchableOpacity onPress={()=>{
this.props.navigation.navigate('Details', {details: item})
}}>
<Text style={styles.textConst}>Title: {item.title} </Text>
<Text style={styles.textConst}>Description: {item.description} </Text>
<Seperator />
</TouchableOpacity>
)}
/>
)
)}
</Query>
<View>
【问题讨论】:
-
要根据数据更新 UI,您应该使用 state 变量和 setState 方法
-
其实FlatList有一种方法,有人帮我用onRefresh方法
标签: react-native graphql react-native-flatlist