将 Apollo GraphQL 变更请求从 React 发送到 Contentful
Send Apollo GraphQL mutation request from React to Contentful
我有一个使用 React + contentful 构建的简单应用程序,我使用 apollo 作为客户端。
我有一个简单的对象数组,我使用查询检索它,我想直接从 UI.
更新它
这是我的查询
export const GET_RADIO = gql`
query getUrl {
allContentfulRadioUrl {
nodes {
url
radioName
}
}
}
`;
它工作正常。
那么这是我的突变:
export const NEW_RADIO = gql`
mutation addNewRadio($url: String!, $name: String!) {
newRadio(url: $url, radioName: $name) {
allContentfulRadioUrl {
nodes {
url
radioName
}
}
}
}
`;
我以这种方式将数据传递给突变:
const [addRadio] = useMutation(NEW_RADIO);
const submit = (e: FormEvent<HTMLFormElement>) => {
e.preventDefault();
addRadio({
variables: { url: formState.url, radioName: formState.radioName },
});
};
但我的回复一直有错误:
GraphQLError: Variable "$name" of required type "String!" was not provided."
这是我第一次使用 GraohQL 和这个堆栈,所以我确信我遗漏了一些东西。
我做错了什么?
我刚刚发现插件 gatsby-source-contentful 仅用于查询数据而不用于突变,所以我试图做一些不可能的事情
我有一个使用 React + contentful 构建的简单应用程序,我使用 apollo 作为客户端。 我有一个简单的对象数组,我使用查询检索它,我想直接从 UI.
更新它这是我的查询
export const GET_RADIO = gql`
query getUrl {
allContentfulRadioUrl {
nodes {
url
radioName
}
}
}
`;
它工作正常。
那么这是我的突变:
export const NEW_RADIO = gql`
mutation addNewRadio($url: String!, $name: String!) {
newRadio(url: $url, radioName: $name) {
allContentfulRadioUrl {
nodes {
url
radioName
}
}
}
}
`;
我以这种方式将数据传递给突变:
const [addRadio] = useMutation(NEW_RADIO);
const submit = (e: FormEvent<HTMLFormElement>) => {
e.preventDefault();
addRadio({
variables: { url: formState.url, radioName: formState.radioName },
});
};
但我的回复一直有错误:
GraphQLError: Variable "$name" of required type "String!" was not provided."
这是我第一次使用 GraohQL 和这个堆栈,所以我确信我遗漏了一些东西。 我做错了什么?
我刚刚发现插件 gatsby-source-contentful 仅用于查询数据而不用于突变,所以我试图做一些不可能的事情