进行以下查询:
import gql from "graphql-tag";
const FOO = gql` {
foo (id: "12") {
id
qux {
id
}
}
}
const BAR = gql` {
BAR (id: "12") {
id
qux {
id
}
}
}
如果我们可以保留代码DRY并一次定义qux
,那就太好了。
我看到两种解决方案:
- 字符串插值,从查询中取出
qux
并将其定义为字符串。这是GitHub gist。 - 使用fragments。
但是,与#2一起进行时有一个警告:
如果在联合和接口上使用片段,则需要使用IntrospectionFragmentMatcher
使用片段有什么好处?