React-Apollo 错误:“...仅支持每个 HOC 的查询、订阅或突变”
Posted
技术标签:
【中文标题】React-Apollo 错误:“...仅支持每个 HOC 的查询、订阅或突变”【英文标题】:React-Apollo error: "...only supports a query, subscription, or a mutation per HOC" 【发布时间】:2021-05-21 02:41:02 【问题描述】:我正在尝试以这种格式创建两个单独的突变:
import gql from 'graphql-tag';
const MUTATION = gql`
mutation setItem($item:String!)
setItem(item:$item)
,
mutation setAnotherItem($setAnotherItem:Bool)
setAnotherItem(setAnotherItem:$setAnotherItem)
`;
但我收到此错误:
Invariant Violation: react-apollo only supports a query, subscription, or a mutation per HOC. [object Object] had 0 queries, 0 subscriptions and 2 mutations. You can use 'compose' to join multiple operation types to a component
什么是构造这个以使两个突变都可用的正确方法?
【问题讨论】:
【参考方案1】:您只需键入一次mutation
并嵌套在(变异)字段中:
import gql from 'graphql-tag';
const MUTATION = gql`
mutation MyMutation ($item: String, $setAnotherItem: Book)
setItem(item: $item) ...
setAnotherItem(setAnotherItem: $setAnotherItem) ...
`;
【讨论】:
以上是关于React-Apollo 错误:“...仅支持每个 HOC 的查询、订阅或突变”的主要内容,如果未能解决你的问题,请参考以下文章
React-Apollo 错误:“...仅支持每个 HOC 的查询、订阅或突变”
如何使用 React-Apollo 处理 GraphQL 错误?
将 React-Apollo 教程改编为 Typescript 时出现 Typescript 错误
react-apollo 网络错误:查询“Hello”的服务器响应丢失
使用 express-graphql 和 react-apollo 处理错误
GraphQL、react-apollo、Apollo 1,全局处理 200 HTTP 代码状态的 data.error 错误。不是网络一。