在 Relay Modern 文档之后,首先我开始使用buildSchema()
函数并将架构和 rootValue 放入其中JavaScript文件,并在需要时使用它。
后来我发现relay-compiler
需要一个JSON或.graphql
格式的模式文件;所以我在schema.graphql
中复制了我的架构,一切都按预期工作。
为了避免在两个地方维护我的架构,我可以阅读schema.graphql
文件并将其传递给buildSchema()
函数,它应该可以工作,但我想知道这是否是正确的方法或是否有更好的方法吗?有没有办法完全避免使用buildSchema()
功能并完全依赖schema.graphql
?
答案 0 :(得分:1)
这是正确且必要的方法
您无法避免在const myComponent = enzymeWrapper.find('MyComponent');
myComponent.node.onThingSelected({}, { thing: newThing});
文件中使用buildSchema
功能;但您可以在JavaScript中构建完整模式 - see bottom of this page。
我建议坚持使用Schema Language表示法。