有没有办法在没有 GraphQL 的情况下使用 Relay?
Posted
技术标签:
【中文标题】有没有办法在没有 GraphQL 的情况下使用 Relay?【英文标题】:Is there way to use Relay without GraphQL? 【发布时间】:2016-01-19 00:31:04 【问题描述】:我正在我的 React 应用程序中尝试 Relay,它默认使用 GraphQL。它看起来像这样(Score
是一些 React.js 组件):
Score = Relay.createContainer(Score,
fragments:
score: () => Relay.QL`
fragment on Score
initials,
score,
`,
,
);
问题是:我可以使用自定义 API 函数将数据返回到片段中吗?像这样:
Score = Relay.createContainer(Score,
fragments:
score: myCustomFunction(), // It will return a dataset.
,
);
【问题讨论】:
【参考方案1】:不,还没有。正在讨论使用“本地”数据扩充服务器架构的支持in this GitHub issue。
与此同时,您有两种选择:
在 GraphQL 服务器上找到分数计算并通过模式访问它,就像访问任何其他字段一样(请注意,模式中的字段可以是任意计算的产物,因此您可以执行“计算字段”并且不受限制到从二级商店获取普通数据)。 在客户端定位数据并通过 GraphQL 之外的侧通道访问它;例如,您可以将它放在 Flux 商店或其他一些辅助模块中。【讨论】:
感谢您的回答!我认为有太多的复杂性和多余的灵活性,所以我选择了另一种方式:自己创建一个简单的 React 组件包装器。以上是关于有没有办法在没有 GraphQL 的情况下使用 Relay?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在不使用 ImageMagick 或其他第三方软件的情况下在 R 中制作 GIF?
有没有办法在不安装任何驱动程序的情况下将表从雪花导入 R 中的数据帧?
如何在没有 useMutation 的情况下在 Next.js 中使用 GraphQL 突变