प्रतिक्रिया से graphql करने के लिए डेटा गुजर के साथ समस्या

वोट
0

मैं उपयोगकर्ता नाम और पासवर्ड जो मैं graphql बैकएंड को भेजने के लिए दृश्यपटल पर प्रतिक्रिया से चाहते हैं। मुझे लगता है कि के लिए अपोलो ग्राहक उपयोग कर रहा हूँ

मेरे मुवक्किल की ओर मैं इस राशि

const REGISTER_USER = gql`
  mutation RegisterUser($username: String!, $password: String!) {
    registerUser(username: $username, password: $password) {
      username,
      password
    }
  }
`;

और मैं इसे इस तरह फोन कर रहा हूँ

registerUser({ variables: { username: values.username, password: values.password } })

अपने सर्वर पर

const UserType = new GraphQLObjectType({
    name: 'user',
    fields: () => ({
        username: { type: GraphQLString },
        password: { type: GraphQLString }
    })
});
const Mutations = new GraphQLObjectType({
    name: 'Mutation',
    fields: {
        registerUser: {
            type: UserType,
            args: {
                username: { type: GraphQLString },
                password: { type: GraphQLString }
            },
            resolve(username, password) {
                console.log(username, password, 123)
            }
        },
    }
})

समस्या यह है - मैं separatly पासवर्ड और उपयोगकर्ता नाम गुजर रहा हूँ तारों के रूप में, लेकिन मेरे console.log(username, password, 123)म्यूटेशन में वापस देता है undefinedऔर उपयोगकर्ता नाम, पासवर्ड क्षेत्रों के साथ पूर्ण वस्तु।

मुझे यकीन है कि जहां मैंने कुछ गलत कर रहा हूँ नहीं हूँ। सभी मदद की बहुत सराहना की जाएगी।

13/02/2020 को 22:02
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
1

resolveसमारोह है source, args, contextऔर infoपैरामीटर के रूप में। आप इसके बारे में और अधिक पढ़ सकते समाधानकर्ता समारोह हस्ताक्षर

तो बुनियादी तौर पर आप के लिए पूछ रहे हैं sourceऔर argsक्यों एक है कि है undefinedऔर अन्य तर्कों की वस्तु है। जिस तरह से अपने चर प्राप्त करने के लिए अपने समाधानकर्ता है:

const Mutations = new GraphQLObjectType({
    name: 'Mutation',
    fields: {
        registerUser: {
            type: UserType,
            args: {
                username: { type: GraphQLString },
                password: { type: GraphQLString }
            },
            resolve: (source, args) {
                console.log(args.username, args.password)
                // HERE: you can access your arguments input as part of the 'args' object
            }
        },
    }
})

आशा करता हूँ की ये काम करेगा।

17/02/2020 को 08:43
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more