最近在用react + remax + apolloServer graphql 开发小程序
。。。。 不废话了上代码
// server.ts 简单封装下,就都用any了
import { request } from "remax/wechat"
/**
* api 接口地址
* vari 参数
*/
const server = ({ api, vari }: any) => {
return new Promise((resolve, reject) => {
request({
url: '///graphql', // 后台地址
method: 'POST',
header: {
"Content-Type":"application/json"
},
data: {
query: api,
variables: vari
},
success: res => resolve(res.data),
fail: err => reject(err)
})
})
}
export default server
// 使用
import server from "url";
const TEST_API = `
query Hello ($msg: msg){
hello(msg: $msg)
}
`
const result = server({
api: TEST_API,
vari: {
msg: 'hello graphql'
}
})
console.log('result:', result.data.msg); // hello graphql
// server端
// schema
const typeDefs = `#graphql
type Query {
hello(msg: String): String
}
`;
// resolvers msg 是前端传入的参数
// { msg } 是从args解构, args.msg
const resolvers = {
Query: {
hello: (_, { msg }) => msg,
},
};
有很多方式可以与apollo交互,比如@apollo/client的useQuery useMutation或者react-query。
文章中的方式是比较熟悉的就用了
欢迎评论