现有工作graphQL服务器的中继客户端?

时间:2016-06-07 20:41:29

标签: javascript reactjs graphql relayjs relay

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

{
  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?
);

任何?有可能这样做吗?

1 个答案:

答案 0 :(得分:1)

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

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

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