如何使用 ReactJS 从 GraphQL 的枚举类型中列出成员

How to list members from an GraphQL's Enum type with ReactJS

我有一个接受枚举作为输入之一的 GraphQL 突变,我想将这些枚举的成员列为 UI 上的 select。我该怎么做?我是否需要将成员硬编码到 select?

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

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

它可能会 return 像这样的响应:

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

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

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