我需要在我的组件的scrollview中使用数据prop进行复习。因此,我需要在我的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);
中致电applinks:
进行复习。但我得到数据道具是未定义的错误。
代码:
applink:
为什么我的数据道具未定义?
答案 0 :(得分:2)
我自己想通了。
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,
})
}),
);
我将重新获取道具映射到自定义屏幕道具并从RefreshControl调用它。