Мне нужно использовать опору данных для обновления в режиме прокрутки в моем компоненте. Так что мне нужно вызвать в data.refetch в моем onRefresh для повторения. Но я получаю сообщение об ошибке undefined.
Код:
class abc extends Component {
render() {
return (
<View>
<ScrollView
onRefresh = {this.props.data.refetch} // undefined error
refreshing = {this.props.data.loading} // undefined erro
>
.....
</ScrollView>
</View>
);
}
}
export default compose(
....,
graphql(
MyQuery,{
.....
}
)
)(abc);
Почему моя опора данных не определена?





Сам разобрался.
class abc extends Component {
static propTypes = {
....
refetchData: PropTypes.func.isRequired,
....
};
render() {
return (
<ScrollView>
<RefreshControl
onRefresh = {this.props.refetchData}
refreshing = {this.props.refreshing}
/>
</ScrollView>
);
}
}
export default compose(
graphql(MyQuery, {
props: props => ({
refetchData: props.data.refetch,
refreshing: props.data.networkStatus === 4,
})
}),
);
Я сопоставил опору refetch с настраиваемой опорой экрана и вызвал ее из RefreshControl.
Нет. Я не использовал имя. Мне нужно только обновить данные. Во всяком случае, я понял это, сопоставив props.data.refetch с опорой в моем контейнере. Спасибо.