如何使用ReactJS列出GraphQL的Enum类型中的成员

时间:2016-11-28 14:07:27

标签: reactjs relayjs graphql-js

我有一个GraphQL变异接受Enum作为输入之一,我想在UI上将这些枚举成员列为选择。我该怎么办?我是否需要对成员进行硬编码以进行选择?

1 个答案:

答案 0 :(得分:4)

您可以使用__type字段来获取枚举类型的值。例如,您可以要求Color枚举的值:

{
   __type(name: "Color") {
     enumValues {
       name 
     }
   }
}

它可能会返回如下响应:

{
  "data" : {
    "__type" : {
      "enumValues" : [
        { "name" : "WHITE" },
        { "name" : "BLUE" },
        { "name" : "BLACK" },
        { "name" : "RED" },
        { "name" : "GREEN" },
      ]
    }
  }
}

然后,您可以使用该响应来呈现UI。

有关GraphQL Introspection的更多信息:http://graphql.org/learn/introspection/