You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Relay useMutation钩子时提示Mutation类型未知discussion字段报错

问题原因

你编写的Mutation查询结构与本地schema.graphql中定义的Mutation类型字段不匹配,你在查询中直接从Mutation根节点取discussion字段,但该字段在Mutation类型中并不存在。你用到的createDiscussion是典型的GraphQL输入型mutation结构,需要先调用根节点的createDiscussion字段,再从它的返回值中获取discussion数据。

修复方案

找到SomeButton组件内的mutation定义,修改为如下内容:

const [commit, isInFlight] = useMutation(graphql`
  mutation AppCreateDiscussionMutation($input: CreateDiscussionInput!) {
    createDiscussion(input: $input) {
      discussion {
        id
      }
    }
  }
`);

额外检查项

  • 确认本地schema.graphql已经和你对接的上游GraphQL API结构同步,如果你用的是GitHub GraphQL API,需要拉取最新的schema覆盖本地文件,避免本地schema结构滞后导致编译校验失败。
  • 可以打开schema.graphql文件搜索type Mutation定义,确认其中存在createDiscussion字段,且该字段的返回类型包含discussion子字段。

修改完成后重新执行yarn run relay-compiler --src ./src --schema ./schema.graphql即可完成编译。

内容的提问来源于stack exchange,提问作者Sourouche

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 09:15:02