GraphQL查询成功运行一次并且无法使用Apollo和AWS AppSync再次运行

时间:2018-04-30 10:54:14

标签: redux apollo react-apollo apollo-client aws-appsync

我使用https://github.com/awslabs/aws-mobile-appsync-sdk-js repo第一页上示例中的基本客户端配置:

const client = new AWSAppSyncClient({
  url: appSyncConfig.graphqlEndpoint,
  region: appSyncConfig.region,
  auth: {
    type: appSyncConfig.authenticationType,
    apiKey: appSyncConfig.apiKey,
  }
});

但是没有<Rehydrated>组件,并且没有Redux <Provider>组件。最高级别的父组件包含如下:

<Provider store={store}>
  <ApolloProvider client={client}>
    <App/>
  </ApolloProvider>
</Provider>

我已尝试更换ProviderApolloProvider的订单,但这并没有改变结果。

问题是查询成功运行一次,但不会再次运行。 AppSync的CloudWatch日志显示初始成功的查询,但不显示进一步的查询尝试。这让我相信问题是由于客户端的某些原因造成的。

我已将查询的fetchPolicy设置为'network-only'而没有结果:

const mapDataToProps = graphql(GET_ALL_STORIES, {
  name: 'getAllStories',
  options: { fetchPolicy: 'network-only' }
});

我已确认指定的查询&#34; getAllStories&#34;通过检查Chrome调试器中的组件确实存在于组件上。查询道具NetworkStatusloading属性始终保持在1true,并且未收到任何回复。

我目前正在使用以下版本的相关库: aws-appsync:1.0.17 Apollo-client:2.2.8 反应 - 阿波罗:2.1.3 redux:3.6.0

修改 附加信息。这是在用Expo创建的反应原生程序中发生的。通过摇动设备并选择&#34; Reload&#34;重新加载程序。导致上述行为。但是,重新启动Expo并再次运行该程序会导致根据需要重新获取查询。

0 个答案:

没有答案