При попытке создать мутацию для создания чего-либо, имеющего какое-либо отношение к моему пользовательскому классу, это не работает. Я пробовал передать идентификатор пользователя, весь объект пользователя и только часть ответа «данные». У кого-нибудь есть на это ответ? (Скорее всего, это проблема моей схемы Apollo. Я новичок в graphql + apollo, буквально день 3.)
import React, { useState } from "react";
import { useMutation } from "@apollo/react-hooks";
import { gql } from "apollo-boost";
const ADD_SHIUR = gql`
mutation createShiurimMutation($input: createShiurimInput!) {
createShiurim(data: $input) {
shiurim {
title
description
link
user {
id
}
}
}
}
`;
export default function AddShiur({ user }) {
const [addShiur] = useMutation(ADD_SHIUR);
const [title, CTS] = useState("");
const [description, CDS] = useState("");
const [link, CLS] = useState("");
return (
<div>
<input
className="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline"
id="title"
type="text"
placeholder="Title"
onChange={(e) => CTS(e.target.value)}
/>
<textarea
className="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline"
id="description"
type="text"
placeholder="Description"
onChange={(e) => CDS(e.target.value)}
/>
<input
className="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline"
id="link"
type="text"
placeholder="Shiur link"
onChange={(e) => CLS(e.target.value)}
/>
<button
onClick={() => {
addShiur({
variables: {
title: title,
description: description,
link: link,
user: { id: user.id },
},
});
}}
>
Submit
</button>
</div>
);
}