中继fetchQuery:如何获取没有片段结构的查询结果

问题描述

假设我有一个顶级查询和一个带有如下片段的子组件:

HomePageQuery

我想强制性地致电someImportantValue,然后在我得到结果后,用// This is a Relay Environment using react-relay-network-modern w/ some middleware // can give implementation details if required but didn't think necessary import relayEnv from 'Relay/createRelayEnvironment' const data = await fetchQuery(relayEnv.environment,HomePageQuery,{}) console.log(data) 进行操作。

所以我尝试了这个:

{ viewer:
   {
    __fragments: {SubComponent_viewer: {…}}
    }
}

这将返回结果给我,但仍然细分为碎片。例如

{
  viewer: {
    me: {
       someImportantValue: 39
    }
  }
}

是否有一种方法可以像在graphiQL中找到的那样获得响应?例如

{{1}}

可以尝试通过片段导航以找到所需的内容,但这似乎过于复杂,并且易受组件结构变化的影响。

我唯一的选择是事后从本地商店获取吗?

当前使用Relay v7

解决方法

我确实对此做了半解答...

您可以在Relay中使用@inline伪指令来检索未屏蔽的结果。

这并不能完全解决我的特殊用例,因为我希望查询本身保持屏蔽状态,但是当我强制性地调用HomePageQuery时会得到未屏蔽的结果。但是,如果您没有此要求,它应该可以工作。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...