2016-07-18 11 views
8

में पहले से ही एक आईडी जोड़ने का प्रयास किया गया है मेरा रिले/ग्राफ़क्यूएल खंड में दो अलग-अलग प्रश्न हैं, जिनमें से दोनों एक ही प्रकार की वस्तुएं लौटाते हैं, और अक्सर कुछ द्वारा लौटाए गए परिणाम सेट के बीच ओवरलैप होता है (और यह बिल्कुल ठीक है मुझे)। मैं ब्राउज़र में निम्न चेतावनी देखें:ग्राफQL सेगमेंट

Attempted to add an ID already in GraphQLSegment: client:client:15254944391:UmV2aWV3ZXI6MQ== 
cra.dll.js:106483 Attempted to add noncontiguous index to GraphQLSegment: 52 to (0, 2) 
cra.dll.js:106483 Attempted to add noncontiguous index to GraphQLSegment: 53 to (0, 2) 
cra.dll.js:106483 Attempted to add noncontiguous index to GraphQLSegment: 54 to (0, 2) 
cra.dll.js:106483 Attempted to add noncontiguous index to GraphQLSegment: 55 to (0, 2) 

कोई पुष्टि कर सकते हैं कि यह मेरे लिए कारण वास्तव में है ही रिले वस्तु देखकर दो बार? मैं चेतावनी को चुप कैसे करूं या कम से कम इसे डीबग कैसे करूं?

+0

क्या आप इस बीच एक फिक्स पा सकते हैं? मुझे 'उपयोगकर्ता' नामक प्रकार की इकाइयों के विवरण प्राप्त करने का प्रयास करते समय भी वही चेतावनी मिल रही है, जिसमें प्रत्येक 'भूमिका' परिभाषित (एन से एन संबंध) की एक सूची है। ऐसा लगता है कि एक 'भूमिका' दो बार लोड करना (एक ही असाइन की गई भूमिका के साथ दो 'उपयोगकर्ता' पर जाकर) इस चेतावनी को ट्रिगर करता है। –

+0

@MichaelHilus, अभी तक कुछ भी नहीं, क्षमा करें –

उत्तर

0

कोड को देखकर बाहर बता सकते हैं लेकिन आप अपने प्रकार 2x पर अपना नोडडिफिनिशन चला रहे हैं। आप, आपके शीर्ष स्तर वस्तु पर globalIDField परिभाषित इसलिए की तरह हैं:

जाने itemtype = नए GraphQLObjectType ({ नाम:

let {nodeInterface, nodeField } = nodeDefinitions(
(globalId) => { 
    let { type, id } = fromGlobalId(globalId) 
    console.log('NodeDefinitions (globalId), id:', id) 
    console.log('NodeDefinitions (globalId), type:', type) 

    if (type === 'TopLevelObject') { 
    return toplevelobject 
    } 
    return null 
}, 
(obj) => { 
    if (obj instanceof TopLevelObject) { 
    return toplevelobjectType 
    } 
    return null 
} 

)

तो फिर तुम इस तरह किसी भी अन्य वस्तुओं का संदर्भ लेना चाहिए : 'आइटम', क्षेत्रों:() => ({ आईडी: fromGlobalId ('आइटम', obj => obj._id), // या नहीं, दोनों .. आईडी: { प्रकार: नई GraphQLNonNull (GraphQLID), हल करें : (Obj) => obj._id }, नाम: {प्रकार: GraphQLString}, यूआरएल: {प्रकार: GraphQLString}, राज्य: {प्रकार: GraphQLString}, likesCount: {प्रकार: GraphQLInt}, createdAt : { प्रकार: GraphQLString, संकल्प: ... } }), इंटरफेस [nodeInterface] })

या तो काम करने के लिए लगता है। अगर आप अपना कोड साझा करना चाहते हैं, तो इसे देखने में खुशी होगी।

संबंधित मुद्दे