所以我正在为服务器端渲染的React应用程序中继。我正在尝试使用中继从graphql端点获取数据。
我有点喜欢this,使用fetchQuery
通过中继编译器从已编译的graphql发出请求来获取数据。
例如
import { graphql, fetchQuery } from 'react-relay'
const query = graphql`
query SomeQuery($id: ID) {
author(id: $id) {
name
...SomeFragment_authorData
}
}
`
const variables = { "id" : "1f" };
fetchQuery(env, query, variables)
.then((jsonData) => { console.log(jsonData); })
当它完成运行时,它为我提供了一些此类对象:
{
author: {
__fragment: { ... }
...
}
}
我假设将这些子组件包裹在
createFragmentContainer()
中,以获取实际数据。由于我没有使用
createFragmentContainer()
,所以我不确定如何正确获取数据,是否有任何方法可以将上述响应转换为真实数据?任何帮助,将不胜感激!
注意:
目前,这是我要获取的数据:
env._network.fetch(query(), variables)
。它正在工作,但是为了获得我提供给fetch
对象的Network
,我需要深入研究私有(private)变量似乎并不对。 最佳答案
您需要在片段传播中添加一个中继指令:...SomeFragment_authorData @relay(mask: false)
关于javascript - 中继现代-如何在没有fragmentContainer的情况下使用fetchQuery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44520038/