React Native - React Apollo - 数据道具未定义

时间:2018-05-25 15:58:51

标签: react-native amazon-dynamodb react-apollo apollo-client aws-appsync

我需要在我的组件的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:

为什么我的数据道具未定义?

1 个答案:

答案 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调用它。