如果新项目的RANGE_ADD
类似于没有ID属性的parent
,我试图了解SearchType
变异应该使用哪个配置。
在这种情况下应该使用什么parentId
或者应该如何配置这个突变?如果我没有指定parentID
,则新创建的项目将不会添加到中继存储中。
我在Relay repo中已经阅读了很多问题,但我仍然不清楚如何正确处理这种突变。
答案 0 :(得分:0)
在您的情况下,使用静态ID创建SearchType
对象会起作用。这是使用graphql-ruby的示例,但该概念应该适用于任何实现:
客户端实现如下:
class SearchPostMutation extends Relay.Mutation {
getMutation() {
return Relay.QL`mutation {searchPosts}`;
}
getVariables() {
return {
// For debug, you can hard code your SearchType object's id here.
id: 'SA9bdDbpc4QtwzppZD0+IbJsE4QgzQ==',
};
}
getConfigs() {
return [{
type: 'RANGE_ADD',
parentName: 'searchPost',
// For debug, you can hard code your SearchType object's id here.
parentID: 'SA9bdDbpc4QtwzppZD0+IbJsE4QgzQ==',
connectionName: 'posts',
edgeName: 'newPostEdge',
rangeBehaviors: {
'': 'prepend',
},
}];
}
}