【问题标题】:Relay client for existing working graphQL server?现有工作graphQL服务器的中继客户端?
【发布时间】:2016-10-07 22:07:43
【问题描述】:

我在 127.0.0.1:3000 运行 tinySQL GraphQL server。我想为它创建 任何工作 Relay 客户端。我的意思是查询的任何工作示例:

{
  groupBy (age: 20, job: "student") {
    id,
    name,
    age,
    job
  }
}

这将在 React 组件中输出类似的内容:

{
  "data": {
    "groupBy": [
      {
        "id": 1,
        "name": "Marie",
        "age": 20,
        "job": "student"
      },
      {
        "id": 5,
        "name": "Jessie",
        "age": 20,
        "job": "student"
      }
    ]
  }
} 

最重要的是我希望能够设置 GraphQL 主机 IP 和端口,并且不想更改 GraphQL 服务器代码中的任何内容。有可能做到吗?是否可以不使用 babelRelayPlugin.js、babel-relay-plugin、webpack、webpack-dev-server 或任何其他魔术技巧?

编辑:

我的意思是:

class App extends React.Component {
  render() {
    return (
      <div>
      // Simple example here?
      </div>
    );
  }
}

Relay.injectNetworkLayer(
  new Relay.DefaultNetworkLayer('http://127.0.0.1:3000')
);

const AppContainer = Relay.createContainer(App, {
  // Simple example here?
});

ReactDOM.render(
  // Simple example here?
);

有人吗?这样可以吗?

【问题讨论】:

    标签: javascript reactjs graphql relayjs relay


    【解决方案1】:

    据我所知,使用 Relay 是不可能的。您不仅需要使用 Relay 的 babel 插件,而且您的服务器还必须匹配 Relay GraphQL 规范。

    但是,有一些替代 Relay 的方法需要更少的样板代码,例如 Apollo ClientLokka。如果您正在寻找良好的 React 集成,那么 Apollo Client 可能是您所描述的正确选择。

    完全披露:我是 Apollo Client 的贡献者

    【讨论】:

    • 我知道 JSX 需要翻译,QL 语法也需要翻译,并且没有解决方案来运行像“node index.js”这样的源代码。我可以运行或导入 babel-relay-plugin 甚至在 webpack.config.js 中进行工作配置,但我知道查看器、根查询甚至路由存在一些问题(好吧,也许我有问题,没有其他人 :-) ) 所以如果需要,我正在寻找 Relay.createContainer 和 Routing 的 WORKING SIMPLE 实现。 Relay.injectNetworkLayer 工作正常,但也许有更好的解决方案?
    • 不过,我真的很喜欢 Lokka 的简单用法。接力应该是这样的。
    • 还有其他人吗?真的不可能吗?我在facebook.github.io/relay/prototyping/playground.html# 的操场上做了一些研究,我用“文本”替换了到处的“你好”字段名称,这停止了工作!看起来中继取决于模式字段名称!这太可怕了,完全不能接受!!!
    • 你试过apollo客户端吗? gql 语法不需要翻译,它是 JavaScript 的标准部分,你不需要对它使用 React。如果您尝试一下,我认为它会完全满足您的要求。从核心 API 开始:docs.apollostack.com/apollo-client/core.html
    • 还没有,但我肯定会的。我想先去接力。
    猜你喜欢
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多