簡體   English   中英

查詢在GraphiQL中工作,但在使用React Apollo時以實際代碼返回空數組

[英]Query works in GraphiQL but returns empty array in Actual Code while using React Apollo

我有一個像這樣的簡單查詢

import gql from "graphql-tag";

export const GET_TODOS_BY_PRODUCT = gql`
  query getTodosByProduct(
    $id: ID!
    $completed: Boolean = false
    $limit: Int = 100
  ) {
    product(id: $id) {
      hashtag
      todos(completed: $completed, limit: $limit) {
        body
      }
    }
  }
`;

在GraphiQL中,它返回的結果如下:

{
  "data": {
    "product": {
      "todos": [
        {
          "body": "Remove Custom Font from Tweet #a2k",
          "product": {
            "id": "1439"
          },
          "__typename": "Todo"
        },
        {
          "body": "Make Site a PWA #a2k",
          "product": {
            "id": "1439"
          },
          "__typename": "Todo"
        }
            ]
        }
    }
}

但是,在使用React Apollo的Query組件時,它會正確返回hashtag ,但以空數組[]形式返回todos ,而且我似乎無法弄清楚查詢出了什么問題。

如果我從todos之外的查詢中獲取其他參數,則它將正確返回它們,但只有todos返回空數組[]

我要求它像-

<Query
      query={GET_TODOS_BY_PRODUCT}
      variables={{ id: state.get("selectedProduct.id") }}
    >
      {({ data: { product } }) => {
        return <Main todos={product.todos} hashtag={product.hashtag} />;
      }}
</Query>

而且我似乎無法弄清楚為什么出了什么問題? 有什么建議么?

感謝@dkulkarni,我找到了解決方案。 在我的GraphiQL中, completedtrue ;在Apollo中,我沒有進行設置,因此它為false

而且我的產品沒有任何等於false completed ,因此很混亂。

再次感謝@dkulkarni我為此事浪費了2個小時hours

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM