是否可以使用Graphql生成的模式作为流定义
Is it possible to use Graphql generated schema as Flow definitions?
我有一个项目使用卷积GraphQL、Relay和Flow。有没有一种方法可以使用GraphQL模式来馈送Flow,这样React道具就可以在不重新定义类型的情况下进行类型化?
对于Relay,我已经使用了生成两个文件的脚本:schema.json
和schema.graphql
。Babel插件使用schema.json
将查询转换为javascript。
另一个文件schema.graphql
看起来类似于类型的Flow语法定义,但存在差异。我曾经尝试过从中import type {Definition} from "./schema.graphql"
,但都失败了。
这方面的问题是GraphQL标量类型可以用于表示各种格式的值,并且它们不是从流中可以回退的基类型继承的。
标量不仅可以验证"字符串",还可以验证"32个十六进制数字的字符串"。不可能在流中声明这种类型。
这里有一些替代方案:babel插件类型检查,json流
所以过了一段时间,我决定解决这个问题,因为我们的项目开始增长,我们开始放松我们的类型。最后,最简单的解决方案是获取printerSchema并对其进行修改,使其输出流友好的文本,将其保存到.js文件中,并将库指向那里。
我稍后会尝试在github中发布
相关文章:
- Webdriver.io pageObject模式-通过传递参数来定义元素选择器
- 引导模式:未定义
- 使用Plaid Link显示自定义用户名和密码模式对话框
- 可以'不要通过背景点击来取消自定义UI引导模式
- 为什么我的Mongoose DB模式之一可能是“;强制转换为未定义的“;当它的实例被放置在第二个模式中时
- 自定义 CSS 媒体打印查询中的模式高度和宽度
- 为什么在原型中定义属性被视为反模式
- 模块模式:函数未定义
- 自定义URL模式
- Safari限制?使用多种方法来显示多个自定义模式对话框
- 是否可以使用Graphql生成的模式作为流定义
- 在自定义框模式中滚动到顶部
- ReferenceError:utag在Firefox 45.0.1中并不是仅在私有模式下定义的
- javascript正则表达式模式定义
- 我可以在哪里放置我的Javascript模式定义
- 模式定义中期望的替换属性
- 正确的Javascript原型模式定义/示例
- 如何用这种模式定义内联getter
- 如何允许最终用户为此模式定义多个命名空间扩展级别
- Meteor从模式定义的表单中获取数据