【发布时间】:2017-03-29 07:55:38
【问题描述】:
我对中继很陌生,我的想法是进行第 3 方 API 调用,它返回一个 JSON 对象。例如,您可以将此 URL 视为返回简单 JSON 的 API 调用。 “http://ip.jsontest.com/”。我该如何进行 Relay Relay 设计
【问题讨论】:
我对中继很陌生,我的想法是进行第 3 方 API 调用,它返回一个 JSON 对象。例如,您可以将此 URL 视为返回简单 JSON 的 API 调用。 “http://ip.jsontest.com/”。我该如何进行 Relay Relay 设计
【问题讨论】:
这取决于..
只需像往常一样编写一个 graphQL 模式,而不是数据库请求,进行第 3 方 API 调用并使用模式 resolvers 如果数据结构需要它。如果数据不是非常动态的,您可能需要添加一个缓存层,因为第 3 方 API 调用可能很慢(不是经验法则)。
现在您可以像往常一样通过 Relay Containers 获取数据。 Relay 还处理客户端缓存!
实际上没有 Relay 设计,因为 Relay 目前只是 graphQL 和 React 之间的粘合剂。它可能随着 v2 的变化而改变。随心所欲,例如,使用常规函数或 React 方法:
getMyData() {
// ajax call or fetch()
}
这样做的缺点是,如果您需要重用该数据,则客户端缓存是您的工作。使用 Flux / Redux,将其存储在全局变量中(不是一个好习惯)或存储中(indexedDB、localStorage 等)。
【讨论】: