对GraphQL联盟的中继支持

时间:2016-09-19 09:34:58

标签: javascript reactjs graphql relayjs relay

我在使用React JS和Relay JS以及GraphQL时遇到了麻烦,尽管对GraphQL的查询有效,但它仍然会收到相同的错误消息。一切正常,直到我们决定使用GraphQl的Unions。现在我可以从GraphQl获取数据,但它一直出错。

我提出这个问题:

query {
  node(id: "value"){
    ... on Node {
      ... on User {
        name
        email
        domain {
          ... on Domain {
            users(first: 100){
              edges{
                node{
                  ... on User{
                    name
                    email
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

它接受从API接收对象

UserOrErrorsUnion {
 User{
  name
  email
  ...
 }
 ErrorSet{
  errors
 }
}

反应组件代码如下:

export class LoggedConnect {
...
}

export default translate(['common', 'root'], { wait: true })(
  Relay.createContainer(LoggedConnect, {
    fragments: {
      user: () => Relay.QL`
      fragment on UserOrErrorsUnion {
        ... on User {
          name
          id
          email
        }
      }
      `,
    },
  })
);

错误就是这个:

  

(程序):36警告:RelayReadyState:状态从{"aborted":false,"done":false,"error":{},"events":[{"type":"NETWORK_QUERY_START"},{"type":"CACHE_RESTORE_START"},{"type":"CACHE_RESTORE_FAILED"},{"type":"NETWORK_QUERY_ERROR","error":{}}],"ready":false,"stale":false}更改为{"error":{}}无效。

我认为这是因为中继收到两个对象并且不知道如何处理它们,所以状态变得不一致

0 个答案:

没有答案