Я пытаюсь полностью подключиться реагировать с сервером GraphQL.У меня не было проблем с получением запросов от mongodb, но у меня были проблемы с мутацией.На самом деле я вижу некоторые изменения
в моей консоли
, но он возвращает ошибку из вопроса в заголовке.Кроме того, , отображаемый на вкладке в консоли, отличается от вкладки "учебного проекта ninja graphql", на которой я учился, поэтому я довольно озадачен, если сначала правильно установил код.
Моя настройка:
query.js
export const addUserMutation = gql`
mutation createUser($input: UserInput) {
createUser(input: $input) {
firstName
lastName
email
items {
text
timeISO
title
}
}
}
`;
app.js
const client = new ApolloClient({
uri: "http://localhost:5000/graphql"
});
function App() {
return (
<Router>
<ApolloProvider client={client}>
<Route exact path="/" component={Homepage} />
<Route exact path="/users" component={UsersList} />
<Route exact path="/adduser" component={AddUser} />
</ApolloProvider>
</Router>
);
}
addUser.js
import { graphql } from "react-apollo";
import * as compose from "lodash.flowright";
import { addUserMutation } from "../queries/queries";
const AddUser = props => {
let [firstName, setFirstName] = useState("");
let [lastName, setLastName] = useState("");
let [email, setEmail] = useState("");
let [gender, setGender] = useState("MALE");
let [items, setItems] = useState("");
const onChange = e => {
if (e.target.name === "firstName") {
setFirstName(e.target.value);
}
if (e.target.name === "lastName") {
setLastName(e.target.value);
}
if (e.target.name === "email") {
setEmail(e.target.value);
}
if (e.target.name === "items") {
setItems(e.target.value);
}
if (e.target.name === "gender") {
setGender(e.target.value);
}
};
const onSubmit = e => {
e.preventDefault();
console.log(props);
props.addUserMutation({
variables: {
firstName,
lastName,
email,
gender,
items
}
});
return (....)
};
export default compose(graphql(addUserMutation, { name: "addUserMutation" }))(
AddUser
);