Apollo缓存具有动态属性的数据。如何查询?

时间:2019-10-08 10:06:03

标签: graphql apollo

我在Apollo缓存中存储了一个类似这样的对象。

{
  "__typename": "nav",
  "dashboard": {
    "link": {
      "strings": {
        "text": "Mi Gestor",
        "title": "..."
      },
      "to": "#0",
      "icon": "u-icon-informanager"
    }
  },
  "elements": [
    {
      "strings": {
        "text": "informa.es"
      },
      "link": {
        "strings": {
          "text": "Mi Gestor",
          "title": "..."
        },
        "to": "#0",
        "icon": "u-icon-informanager"
      },
      "list": {
        "elements": [
          {
            "strings": {
              "text": "Registro de Tráfico - DGT"
            }
          },
          {
            "link": {
              "strings": {
                "text": "Informe de Vehículo",
                "title": "Informe de Vehículo"
              },
              "to": "https://www.google.es"
            }
          }
        ]
      }
    },
    {
      "link": {
        "icon": "u-icon-arrow-down",
        "strings": {
          "text": "Informes",
          "title": "Informes"
        },
        "to": "https://www.google.es"
      },
      "list": {
        "elements": [
          {
            "strings": {
              "text": "Informes"
            },
          },
          {
            "link": {
              "icon": "",
              "strings": {
                "text": "Informaes Nacionales",
                "title": "Informaes Nacionales"
              },
              "to": "https://www.google.es"
            },
          },
          {
            "link": {
              "icon": "",
              "strings": {
                "text": "Informaes Internacionales",
                "title": "Informaes Internacionales"
              },
              "to": "https://www.google.es"
            },
          },
          {
            "link": {
              "icon": "",
              "strings": {
                "text": "Informes Investigados",
                "title": "Informes Investigados"
              },
              "to": "https://www.google.es"
            },
          },
          {
            "link": {
              "icon": "",
              "strings": {
                "text": "Informes Prejudiciales",
                "title": "Informes Prejudiciales"
              },
              "to": "https://www.google.es"
            },
          },
        {
          "link": {
            "icon": "",
            "strings": {
              "text": "Informes Solicitados",
              "title": "Informes Solicitados"
            },
            "to": "https://www.google.es"
          },
        }
    ]
  }
}
]
}

对不起,您的身份证明。我一直在尝试正确设置其格式,但是不能很好地处理它。

在这里,我要使用的查询是

query GetNav {
    user @client {
      __typename
      nav {
        dashboard {
          link {
            to
            strings {
              text
              title
            }
            icon
          }
        }
        elements {
          strings {
            text
          }
          link {
            to
            strings {
              text
              title
            }
            icon
          }
          list {
            elements {
              strings {
                text
              }
              link {
                to
                strings {
                  text
                  title
                }
                icon
              }
            }
          }
        }
      }
    }
  }

但是,我得到的只是最后一个列表中的空对象:

enter image description here

您知道会发生什么吗?我知道GraphQL是面向模式的,它们必须准确,但是我也认为这些模式的不存在属性不会破坏结果数据。

0 个答案:

没有答案