Graphqlを使用してsvelteでコメントを送信するには?
私の洗練されたコードはこのようなものです
<script>
let commenterMessage = '';
export let status = false;
export async function submitComment() {
$: commenterMessage;
const graphcms = new GraphQLClient(import.meta.env.VITE_GRAPHCMS_URL, {
headers: {}
});
const query = gql`
mutation CREATE_COMMENT {
createComment(
input: {
commentOn: 115
content: ${commenterMessage}
author: "Sarah Jason"
}
) {
success
comment {
id
content
author {
node {
name
}
}
}
}
}
`;
const { createComment } = await graphcms.request(query);
return {
props: {
status: createComment.success
}
};
}
</script>
これは、ユーザーからのバインディング値を使用するフォームです。
<form id="comment_form" method="post">
<div class="group-val ct-gr">
<textarea name="message" placeholder="Comment" bind:value={commenterMessage} />
</div>
<a
href="#"
class="btn fill"
on:click|preventDefault={submitComment}
data-text="Add Comment">
Add Comment
</a>
</form>
${commenterMessage}
gqlクエリでエラーが発生しました。
これは、コンソールに表示されるエラーです。
同じ Type に重複するフィールドを登録することはできません。フィールド「カテゴリ」は、タイプ「RootQuery」に既に存在します。フィールドには必ず一意の名前を付けてください。","field_name":"categories","type_name":"RootQuery","stack":["E:\\wamp64\\www\\simplecv\\cms\\ wp-content\\plugins\\wp-graphql\\src\\Registry\\TypeRegistry.php:1025","E:\\wamp64\\www\\simplecv\\cms\\wp-includes\\class- wp-hook.php:305","E:\\wamp64\\www\\simplecv\\cms\\wp-includes\\plugin.php:189","E:\\wamp64\\www\\simplecv \\cms\\wp-content\\plugins\\wp-graphql\\src\\Type\\WPObjectType.php:226","E:\\wamp64\\www\\simplecv\\cms\\wp- content\\plugins\\wp-graphql\\src\\Type\\WPObjectType.php:126","E: \\wamp64\\www\\simplecv\\cms\\wp-includes\\class-wp.php:750","E:\\wamp64\\www\\simplecv\\cms\\wp-includes\\ functions.php:1291","E:\\wamp64\\www\\simplecv\\cms\\wp-blog-header.php:16","E:\\wamp64\\www\\simplecv\\cms \\index.php:17"]},{"type":"DUPLICATE_FIELD","message":"同じ Type に重複するフィールドを登録することはできません。フィールド「themes」はタイプ「RootQuery」に既に存在します。フィールドに一意の名前を付けてください。","field_name":"themes","type_name":"RootQuery","stack":["E:\\wamp64\\www\\simplecv\\cms\\ wp-content\\plugins\\wp-graphql\\src\\Registry\\TypeRegistry.php:1025","E:\\wamp64\\www\\simplecv\\cms\\wp-includes\\class- wp-hook.php:305","E: \\wamp64\\www\\simplecv\\cms\\wp-includes\\class-wp-hook.php:327","E:\\wamp64\\www\\simplecv\\cms\\wp-includes \\plugin.php:518","E:\\wamp64\\www\\simplecv\\cms\\wp-includes\\class-wp.php:388","E:\\wamp64\\www\ \simplecv\\cms\\wp-includes\\class-wp.php:750","E:\\wamp64\\www\\simplecv\\cms\\wp-includes\\functions.php:1291", "E:\\wamp64\\www\\simplecv\\cms\\wp-blog-header.php:16","E:\\wamp64\\www\\simplecv\\cms\\index.php:17 "]}]},"status":200,"headers":{"map":{"content-length":"7395","content-type":"application/json; charset=UTF-8"}}},"request":{"query":"\n\t\t\tmutation CREATE_COMMENT {\n\t\t\t\tcreateComment(\n\t\t\t\ t\tinput: {\n\t\t\t\t\t\tcommentOn: 115\n\t\t\t\t\t\tcontent: こんにちは。
ユーザーがフォーム入力に入力した値を使用するにはどうすればよいですか?