我有明确的js服务器代码:
...
const server = new GraphQLServer({
typeDefs: `schema.graphql`,
resolvers,
context: context => {
let cookie = get(context, 'request.headers.cookie');
return { ...context, cookie, pubsub };
},
});
这样我可以将cookie
附加到解析程序的请求上:
...
method: 'GET',
headers: {
cookie: context.cookie,
},
现在,我希望能够使用Relay(作为GraphQL客户端),并且还希望能够将cookie附加到Relay的请求中。
我找到了similar question,但我不清楚在哪里可以插入该代码:
Relay.injectNetworkLayer(
new Relay.DefaultNetworkLayer('/graphql', {
credentials: 'same-origin',
})
);
因为我没有在Relay
中导入Environment.js
。
更新:我尝试添加
import { Relay, graphql, QueryRenderer } from 'react-relay';
Relay.injectNetworkLayer(
new Relay.DefaultNetworkLayer('http://example.com/graphql', {
credentials: 'same-origin',
})
);
发送到我发送GraphQL查询的文件(例如client.js
),但它表示Relay
是未定义。
更新#2:this repo看起来很有趣。