const ADD_TODO = gql`
mutation AddTodo($type: String!) {
addTodo(type: $type) {
name
}
}
`;
const ADD_AUTHOR = gql`
mutation AddAuthor($type: String!) {
addAuthor(type: $type) {
name
}
}
`;
У меня есть две вышеуказанные мутации для добавления данных в мою базу данных. Я собираю поля имени, необходимые как для мутаций в bookval, так и для переменных authorval. Эти переменные передаются в функции AddBook и AddAuthor соответственно
AddBook(bookval) {
const [addBook, { data }] = useMutation(ADD_BOOK);
addBook({ variables: { type: bookval } });
};
AddAuthor(authorval) {
const [addAuthor, { data }] = useMutation(ADD_AUTHOR);
addAuthor({ variables: { type: authorval } });
};
Вот функции, которые я вызываю при отправке формы. Но я получаю ошибку, что Hooks можно вызывать только внутри компонента функции
<form>
<p>Book Name</p>
<input
type='text'
ref={ (value) => this.book = value}
placeholder="enter book's name"/>
<br/>
<p>Author Name</p>
<input
type='text'
ref={ (value) => this.author = value}
placeholder="enter author's name"/>
<br/>
<br/>
<button onClick={this.getValues.bind(this)}>Donate</button>
</form>
это моя форма