有没有GraphQL使用Relay的方法?

Phi*_*pak 3 reactjs graphql relayjs

我正在我的React应用程序中尝试Relay,它默认使用GraphQL.它看起来像这样(Score是一些React.js组件):

Score = Relay.createContainer(Score, {
    fragments: {
        score: () => Relay.QL`
            fragment on Score {
                initials,
                score,
            }
        `,
    },
});
Run Code Online (Sandbox Code Playgroud)

问题是:我可以使用自定义API函数将数据返回到片段中吗?像这样:

Score = Relay.createContainer(Score, {
    fragments: {
        score: myCustomFunction(), // It will return a dataset.
    },
});
Run Code Online (Sandbox Code Playgroud)

win*_*ent 5

还没有.本GitHub问题正在讨论是否支持使用"本地"数据扩充服务器模式.

在此期间,您有两种选择:

  • 在GraphQL服务器上找到分数计算并通过模式访问它,就像您在任何其他字段中一样(请注意,模式中的字段可以是任意计算的结果,因此您可以执行"计算字段",而不仅限于vanilla数据 - 从二级商店获取).
  • 在客户端上找到数据并通过除GraphQL之外的侧通道访问它; 例如,您可以将它放在Flux商店和/或其他一些辅助模块中.