我想对apollo客户端的graphQL后端中的内容进行更改,但是该更改假定不呈现任何内容,这只是后台工作,我想在构造函数中调用的函数中运行它,如下所示:
_callUpdateTokenMutation(token: String) {
return <Mutation mutation={REFRESH_FCM_TOKEN} variables={token}>
{updateFcmToken => (
return true
)}
</Mutation>;
}
我想知道是否有一种方法可以在没有Mutation标签的情况下运行它,例如:
client.mutation...
问题是客户端是在App.js中构建的,我想在组件中调用它,客户端是全局的吗?
谢谢。
答案 0 :(得分:0)
临时,我最终使用fetch在服务器中运行该突变,如下所示:
async _callUpdateTokenMutation(token: String) {
const authUser = await getToken();
if (authUser) {
fetch(`${global.endpoint}/graphql`, {
method: "POST",
headers: {
Accept: "application/json",
"Content-Type": "application/json",
Authorization: authUser
},
body: JSON.stringify({
query: `mutation { updateFcmToken(token: ${token}) { id } }`
})
})
// .then(response => response.json())
.then(responseJson => {
console.log(responseJson);
})
.catch(error => {
/* TODO:
* Leer bien el mensaje desde el servidor y mostrar la alerta
* que manda el servidor
*/
console.log("HOME_FCM_ERROR", error);
});
}
}
但是如果有人知道带有Mutation标签的答案或与客户有关的信息,那将是很好的。