如何从我的 redux 操作向 GraphQL-server 发出请求?
Posted
技术标签:
【中文标题】如何从我的 redux 操作向 GraphQL-server 发出请求?【英文标题】:How to make requests to GraphQL-server from my redux action? 【发布时间】:2018-06-29 19:22:48 【问题描述】:我有 react+redux 应用程序,我想将我的操作中的 rest-requests 替换为 grapqhl-requests。最简单的方法是什么?
我阅读了有关 apollo 的信息,但我只是想在我现有的请求中添加 graphql。
【问题讨论】:
【参考方案1】:您必须更改获取数据的方式,因为 Apollo 是您和请求的 Api 之间的一层,您可以将多个 API 加入到一个查询调用中。 上面的示例非常简单,只是为了解释放置查询的方式以及它如何连接到 Apollo Server。您也可以将中间件设置为在添加一些标头时记录请求。
您将安装 [https://github.com/apollographql/react-apollo] 和 [https://github.com/apollographql/graphql-tag]
之后,在您的项目中创建一个连接文件来导入
graphClient.js
import ApolloClient, createNetworkInterface from 'react-apollo';
const networkInterface = createNetworkInterface(
uri: 'yourserver address'
);
const client = new ApolloClient(
networkInterface,
);
export default client;
yourRequestFile.js
import gql from 'graphql-tag';
import client from './graphClient';
export const getYourData = () => (
query: gql`
query
products()
info
value
qty
value
`,
);
const returnYourData = async () => client.query(getYourdata());
export default returnYourData;
【讨论】:
以上是关于如何从我的 redux 操作向 GraphQL-server 发出请求?的主要内容,如果未能解决你的问题,请参考以下文章
如何导出 mapStateToProps 和 Redux 表单?