Graphql 如何减少中继片段中的重复
我有几乎相同的组件,但目标是不同的graphql实体,我试图找出是否有一种方法可以减少代码的重复。例如,我有两个片段:Graphql 如何减少中继片段中的重复,graphql,relay,relaymodern,Graphql,Relay,Relaymodern,我有几乎相同的组件,但目标是不同的graphql实体,我试图找出是否有一种方法可以减少代码的重复。例如,我有两个片段: const PROCESS_REQUEST_MUTATION_A = graphql` mutation EntityA($input: ProcessRequestInput!) { processRequest(input: $input) { errors currentRequest { id stat
const PROCESS_REQUEST_MUTATION_A = graphql`
mutation EntityA($input: ProcessRequestInput!) {
processRequest(input: $input) {
errors
currentRequest {
id
state
items {
edges {
item {
id
}
}
}
events {
...RequestHistory_events
}
}
nextRequest {
id
primaryType
}
}
}
`;
在另一个本质上是重复的组件中,我有:
const PROCESS_REQUEST_MUTATION_ = graphql`
mutation EntityB($input: ProcessRequestInput!) {
processRequest(input: $input) {
errors
currentRequest {
id
state
items {
edges {
item {
id
...EntityB_item
}
}
}
events {
...RequestHistory_events
}
}
nextRequest {
id
primaryType
}
}
}
`;
我希望只有一个组件,并以某种方式简化片段以处理此问题,而不会有太多重复。我不确定您在这里要问什么。您提供了两种不同的突变,而不是片段。但考虑到相同的突变只是不同的字段选择,我总是使用第二个,因为它是第一个的超集。我有类似的问题,我有一个分页容器,它有两个片段:
…EntityRow_entity…EntityCard_entity
,片段完全定义了相同的字段集。我知道我们可以导入两种类型并使用它们,但实际上这是一种代码复制。我不确定你在问什么。您提供了两种不同的突变,而不是片段。但考虑到相同的突变只是不同的字段选择,我总是使用第二个,因为它是第一个的超集。我有类似的问题,我有一个分页容器,它有两个片段:…EntityRow_entity…EntityCard_entity
,片段完全定义了相同的字段集。我知道我们可以导入两种类型并使用它们,但实际上这是一种代码复制。