次のエラーが発生しています。 graphiqlで突然変異を実行しようとしているとき。私がこの問題を解決するのを助けてください、または私が反応リレー変異例を見つけることができるリンクを指してください。あなたのケースでは、約束 - ここ未定義のプロパティ 'clientMutationId'を設定できません
mutation {
createUser(input: {username: "Hamza Khan", clientMutationId: ""}) {
user {
id
username
}
}
}
{
"data": {
"createUser": null
},
"errors": [
{
"message": "Cannot set property 'clientMutationId' of undefined",
"locations": [
{
"line": 17,
"column": 2
}
]
}
]
}
は、変異定義リターンmutateAndGetPayload
から何かにあなたが持っている
import {
GraphQLString,
GraphQLInt,
GraphQLFloat,
GraphQLList,
GraphQLObjectType,
GraphQLID,
GraphQLNonNull
} from 'graphql';
import {
connectionArgs,
connectionDefinitions,
connectionFromArray,
fromGlobalId,
globalIdField,
mutationWithClientMutationId,
nodeDefinitions,
} from 'graphql-relay';
import {User} from './usermodel';
import {UserType} from './usertype';
export const UserMutations = {};
UserMutations.createUser = mutationWithClientMutationId({
name: 'CreateUser',
inputFields: {
username: {type: new GraphQLNonNull(GraphQLString)}
},
outputFields: {
user: {
type: UserType,
resolve: (payload) => {
return User.getUserById(payload.userId);
}
}
},
mutateAndGetPayload: (args) => {
let newUser = new User({ username: args.username });
newUser.save().then((user) => {
return {userId: user.id};
}).error((err) => {return null;});
}
});
ユーザーが正しく読み込まれていないため、間違いはほとんどありません。おそらくあなたは入力としてユーザー名を送信しているだけだろうから。 –
mutateAndGetPayloadで新しいユーザーをログオンできますが、間違ってoutputFieldsの関数が実行されていません。 – user1762608
あなたがユーザーを問い合わせていない可能性があります。フィールドを要求しない場合、出力フィールドの解決機能は呼び出されません。 –