问题描述
假设我有一个顶级查询和一个带有如下片段的子组件:
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
时会得到未屏蔽的结果。但是,如果您没有此要求,它应该可以工作。