2016-07-18 17 views
8

Đoạn Relay/GraphQL của tôi chứa hai truy vấn khác nhau, cả hai đều trả về các đối tượng cùng loại và thường có một số trùng lặp giữa các tập kết quả trả về (hoặc tôi). Tôi thấy các cảnh báo sau trong trình duyệt:Đã cố gắng thêm một ID đã có trong GraphQLSegment

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) 

Ai đó có thể xác nhận điều này thực sự là do tôi nhìn thấy cùng một đối tượng Relay hai lần không? Làm thế nào để tôi im lặng cảnh báo hoặc ít nhất là gỡ lỗi thêm?

+0

Bạn có thể tìm cách sửa lỗi này không? Tôi đang nhận được cảnh báo tương tự khi cố gắng để có được thông tin chi tiết về các thực thể của tôi về kiểu được gọi là 'Người dùng' có mỗi danh sách' Vai trò' được định nghĩa (quan hệ n đến n). Dường như tải một 'Vai trò' hai lần (truy cập hai' Người dùng' có cùng vai trò được gán) sẽ kích hoạt cảnh báo này. –

+0

@MichaelHilus, chưa có gì, xin lỗi –

Trả lời

0

Có thể nói với việc xem mã nhưng bạn có thể đang chạy nodeDefinition của mình trên loại 2x. Nếu bạn xác định globalIDField trên đối tượng cấp cao nhất của bạn, như vậy:

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 
} 

)

Sau đó, bạn nên tham khảo bất kỳ đối tượng khác như thế này:

hãy itemtype = new GraphQLObjectType ({ tên : 'Mục', trường:() => ({ id: fromGlobalId ('Mục', obj => obj._id), // HOẶC, không phải cả hai .. id: { loại: new GraphQLNonNull (GraphQLID), giải quyết : (Obj) => obj._id }, tên: {type: GraphQLString}, url: {type: GraphQLString}, nhà nước: {type: GraphQLString}, likesCount: {type: GraphQLInt}, createdAt : { loại: GraphQLString, quyết tâm: ... } }), giao diện: [nodeInterface] })

Hoặc dường như làm việc. Nếu bạn muốn chia sẻ mã của bạn, vui lòng xem nó.

Các vấn đề liên quan